Procedura: specificare un'azione per punti di interruzione/punti di analisi
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
I punti di traccia rappresentano un modo nuovo di utilizzare i punti di interruzione. Un punto di traccia è un punto di interruzione al quale è stata associata un'azione personalizzata. Quando il punto di traccia viene raggiunto, causa l'esecuzione dell'azione specificata da parte del debugger invece di, o oltre a, interrompere l'esecuzione del programma.
È possibile creare un punto di traccia in due modi diversi:
Convertire un punto di interruzione esistente in un punto di traccia aggiungendo un'azione per punto di traccia. Qualsiasi tipo di punto di interruzione può essere convertito in un punto di traccia.
Creare un nuovo punto di traccia con il comando Nuovo punto di traccia.
Nota
Le finestre di dialogo e i comandi di menu visualizzati potrebbero non corrispondere a quelli descritti nella Guida, in quanto dipendono dalle impostazioni attive o dall'edizione di Visual Studio. Per modificare le impostazioni, selezionare Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Per creare un nuovo punto di traccia
In una finestra di origine fare clic sulla riga in cui si desidera impostare un punto di traccia, quindi selezionare Inserisci punto di traccia da Punti di interruzione nel menu di scelta rapida.
Verrà visualizzata la finestra di dialogo Quando raggiunto, che contiene due caselle di testo in cui è possibile immettere azioni personalizzate: Stampa un messaggio ed Esegui una macro.
A questo punto, è possibile accettare le impostazioni del punto di traccia preselezionate o modificarle come segue:
Per creare un punto di traccia che stampa un messaggio nella finestra Output, selezionare Stampa un messaggio e immettere il testo del messaggio nella casella di testo corrispondente. Utilizzando Stampa un messaggio, è possibile utilizzare i punti di traccia per scopi analoghi a quelli per cui si potrebbe utilizzare la classe Trace, ma senza alcuna necessità di modificare il codice.
È possibile includere informazioni a livello di codice utilizzando la sintassi DebuggerDisplayAttribute (vedere DebuggerDisplayAttribute). Di seguito è riportato un esempio:
In function '{$FUNC}', on thread '{$TID}'
-oppure-
Used variable: {varName}, function name: {functionName($FUNC)}
È possibile utilizzare una qualsiasi delle parole chiave visualizzate nella finestra di dialogo Quando il punto di interruzione viene raggiunto. Inoltre, è possibile utilizzare altre due parole chiave non visualizzate nella finestra di dialogo, ovvero $TICK per inserire il numero di cicli corrente della CPU e $FILEPOS per inserire la posizione corrente del file.
Quando viene visualizzata la finestra di dialogo Quando il punto di interruzione viene raggiunto, la casella Stampa un messaggio contiene un messaggio predefinito. Per accettare questo messaggio, scegliere OK.
Per eseguire una macro del modello di automazione di Visual Studio, selezionare Esegui una macro e scegliere una macro dall'elenco a discesa.
Quando si seleziona Stampa un messaggio o Esegui una macro, la casella di controllo Continua esecuzione diventa attiva. Selezionare Continua esecuzione se non si desidera che il punto di traccia interrompa l'esecuzione del programma.
Scegliere OK.
Per creare un punto di traccia da un punto di interruzione esistente
In una finestra di origine, Disassembly o Stack di chiamate, fare clic con il pulsante destro del mouse sul glifo di un punto di interruzione, quindi scegliere Quando raggiunto.
-oppure-
Nella finestra Punti di interruzione fare clic con il pulsante destro del mouse sul glifo di un punto di interruzione, quindi selezionare Quando raggiunto.
Verrà visualizzata la finestra di dialogo Quando raggiunto.
Scegliere OK per accettare le impostazioni del punto di traccia preselezionate oppure modificarle come illustrato nella procedura precedente.