Specificare un'azione del punto di interruzione
Si applica a: SQL Server
Un’azione per un punto di interruzione specifica un'attività personalizzata eseguita dal debugger Transact-SQL per un punto di interruzione. Se viene raggiunto il numero di passaggi specificato e viene soddisfatta una condizione per il punto di interruzione, il debugger esegue l'azione specificata per il punto di interruzione.
Considerazioni sulle azioni
L'azione predefinita per un punto di interruzione consiste nell'interrompere l'esecuzione una volta raggiunto il numero di passaggi e soddisfatta la condizione per il punto di interruzione. L'utilizzo principale di un'azione nel debugger Transact-SQL consiste nello stampare informazioni nella finestra Output del debugger.
Il messaggio viene specificato nell'opzione Stampa un messaggio nella Finestra di output, e viene specificato come stringa di testo che include espressioni contenenti informazioni ottenute dal debug di Transact-SQL. Le espressioni includono gli elementi seguenti:
Un'espressione Transact-SQL racchiusa tra parentesi graffe (
{}
). Le espressioni possono includere variabili, parametri e funzioni predefinite Transact-SQL. Tra gli esempi sono inclusi{@MyVariable}
,{@NameParameter}
{@@SPID}
o{SERVERPROPERTY('ProcessID')}
.Una delle parole chiave seguenti:
$ADDRESS
restituisce il nome della stored procedure o della funzione definita dall'utente in cui è impostato il punto di interruzione. Se il punto di interruzione è impostato nella finestra dell'editor,$ADDRESS
restituisce il nome del file di script modificato.$ADDRESS
e$FUNCTION
restituiscono le stesse informazioni nel debugger Transact-SQL.$CALLER
restituisce il nome dell'unità di codice Transact-SQL che ha chiamato una stored procedure o una funzione. Se il punto di interruzione è nella finestra dell'editor,$CALLER
restituisce<No caller available>
. Se il punto di interruzione è in una stored procedure o in una funzione definita dell'utente chiamata dal codice nella finestra dell'editor,$CALLER
restituisce il nome del file modificato. Se il punto di interruzione è in una stored procedure o in una funzione definita dell'utente chiamata da un'altra stored procedure o funzione,$CALLER
restituisce il nome della procedura o della funzione chiamante.$CALLSTACK
restituisce lo stack di chiamate delle funzioni nella catena che hanno chiamato la stored procedure o la funzione definita dall'utente corrente. Se il punto di interruzione è nella finestra dell'editor,$CALLSTACK
restituisce il nome del file di script modificato.$FUNCTION
restituisce il nome della stored procedure o della funzione definita dall'utente in cui è impostato il punto di interruzione. Se il punto di interruzione è impostato nella finestra dell'editor,$FUNCTION
restituisce il nome del file di script modificato.$PID
e$PNAME
restituiscono l'ID e il nome del processo del sistema operativo che esegue l'istanza del motore di database in cui viene eseguito Transact-SQL.$PID
restituisce lo stesso ID diSERVERPROPERTY('ProcessID')
, con la differenza che$PID
è un valore esadecimale mentreSERVERPROPERTY('ProcessID')
è un valore decimale.$TID
e$TNAME
restituiscono l'ID e il nome del thread del sistema operativo che esegue il batch Transact-SQL. Il thread è un thread associato al processo che esegue l'istanza del Motore di database.$TID
restituisce lo stesso valore diSELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID
, tranne che$TID
è un valore esadecimale mentrekpid
è un valore decimale.
È anche possibile usare il carattere barra rovesciata (
\
) come un carattere di escape per consentire la presenza di parentesi graffe e barre rovesciate nel messaggio:\{
,\}
e\\
.
Come specificare un'azione
Nella finestra dell'editor fare clic con il pulsante destro del mouse sul glifo del punto di interruzione, quindi scegliere Azioni dal menu di scelta rapida.
oppure
Nella finestra Punti di interruzione fare clic con il pulsante destro del mouse sul glifo del punto di interruzione, quindi scegliere Impostazioni dal menu di scelta rapida.
Nella finestra di dialogo Impostazioni punto di interruzione selezionare l'opzione Azioni.
Nella finestra di dialogo Mostra un messaggio nella finestra di output immettere un'espressione.
Selezionare Continua esecuzione codice se non si desidera che l'esecuzione venga sospesa dal punto di interruzione. Questa opzione è attiva solo se è selezionata l'opzione Azioni.
Selezionare Chiudi per implementare le modifiche.