Condividi tramite


Esecuzione del debugger Transact-SQL

È possibile avviare il debugger Transact-SQL dopo avere aperto una finestra dell'editor di query del Motore di database. È quindi possibile eseguire il codice Transact-SQL in modalità debug fino a quando non si desidera arrestare il debugger. È possibile impostare le opzioni desiderate per personalizzare la modalità di esecuzione del debugger.

Avvio e arresto del debugger

Di seguito vengono indicati i requisiti per avviare il debugger Transact-SQL:

  • Se l'editor di query del Motore di database è connesso a un'istanza del Motore di database in un altro computer, è necessario aver configurato il debugger per il debug remoto. Per ulteriori informazioni, vedere Configurazione del debugger Transact-SQL.

  • SQL Server Management Studio deve essere in esecuzione con un account di Windows membro del ruolo predefinito del server sysadmin.

  • La finestra dell'editor di query del Motore di database deve essere connessa tramite un account di accesso con autenticazione di Windows o con autenticazione di SQL Server che sia membro del ruolo predefinito del server sysadmin.

  • La finestra dell'editor di query del Motore di database deve essere connessa a un'istanza del Motore di database SQL Server 2008 o versioni successive. Non è possibile eseguire il debugger quando la finestra dell'editor di query è connessa a un'istanza in modalità utente singolo.

Si consiglia di eseguire il debug del codice Transact-SQL su un server di prova, anziché un server di produzione, per le ragioni che seguono:

  • L'esecuzione del debug è un'operazione che richiede privilegi elevati. Solo ai membri del ruolo predefinito del server sysadmin è pertanto consentito di eseguire il debug in SQL Server.

  • Le sessioni di debug spesso durano a lungo perché si esamina l'esecuzione di numerose istruzioni Transact-SQL. I blocchi, ad esempio i blocchi di aggiornamento, che vengono acquisiti dalla sessione potrebbero essere mantenuti per lunghi periodi di tempo, fino al termine della sessione o al commit o rollback della transazione.

All'avvio del debugger Transact-SQL, la finestra dell'editor di query entra nella modalità di debug e l'esecuzione del codice viene sospesa dal debugger in corrispondenza della prima riga. È possibile esaminare il codice, sospendere l'esecuzione di istruzioni Transact-SQL specifiche nonché utilizzare le finestre del debugger per visualizzare lo stato di esecuzione corrente. Il debugger può essere avviato facendo clic sul pulsante Debug sulla barra degli strumenti Query o facendo clic su Avvia debug nel menu Debug.

La finestra dell'editor di query rimane in modalità di debug sino al termine dell'ultima istruzione nella finestra dell'editor di query oppure fino a quando non viene arrestata la modalità di debug. È possibile arrestare l'esecuzione della modalità di debug e di un'istruzione utilizzando uno dei metodi seguenti:

  • Scegliere Arresta debug dal menu Debug.

  • Nella barra degli strumenti Debug fare clic sul pulsante Arresta debug.

  • Scegliere Annulla esecuzione query dal menu Query.

  • Nella barra degli strumenti Query fare clic sul pulsante Annulla esecuzione query.

È inoltre possibile arrestare la modalità di debug e consentire il completamento delle restanti istruzioni Transact-SQL scegliendo Disconnetti tutto dal menu Debug.

Controllo del debugger

È possibile controllare l'esecuzione del debugger Transact-SQL utilizzando i comandi, le barre degli strumenti e le scelte rapide seguenti:

  • Il menu Debug e la barra degli strumenti Debug. Sia il menu Debug che la barra degli strumenti Debug sono inattivi fino a quando non viene attivata una finestra dell'editor di query aperta. Rimangono attivi fino alla chiusura del progetto corrente.

  • Le scelte rapide da tastiera per il debugger.

  • Il menu di scelta rapida dell'editor di query. Il menu di scelta rapida viene visualizzato quando si fa clic con il pulsante destro del mouse su una riga in una finestra dell'editor di query. Quando la finestra dell'editor di query è in modalità di debug, nel menu di scelta rapida vengono visualizzati i comandi del debugger applicabili alla riga o stringa selezionata.

  • Le voci di menu e i comandi contestuali nelle finestre aperte dal debugger, ad esempio le finestre Espressione di controllo o la finestra Punti di interruzione.

Nella tabella seguente sono illustrati i comandi di menu del debugger, i pulsanti della barra degli strumenti e i tasti di scelta rapida.

Comando del menu Debug

Comando di scelta rapida dell'editor

Pulsante della barra degli strumenti

Scelta rapida da tastiera

Azione

Finestra, Punti di interruzione

Non disponibile

Punti di interruzione

CTRL +ALT +B

Consente di visualizzare la finestra Punti di interruzione nella quale è possibile visualizzare e gestire i punti di interruzione.

Finestra, Espressione di controllo, Espressione di controllo1

Non disponibile

Punti di interruzione, Espressione di controllo, Espressione di controllo1

CTRL+ALT+W, 1

Consente di visualizzare la finestra Espressione di controllo1.

Finestra, Espressione di controllo, Espressione di controllo2

Non disponibile

Punti di interruzione, Espressione di controllo, Espressione di controllo2

CTRL+ALT+W, 2

Consente di visualizzare la finestra Espressione di controllo2.

Finestra, Espressione di controllo, Espressione di controllo3

Non disponibile

Punti di interruzione, Espressione di controllo, Espressione di controllo3

CTRL+ALT+W, 3

Visualizzare la finestra Espressione di controllo3.

Finestra, Espressione di controllo, Espressione di controllo4

Non disponibile

Punti di interruzione, Espressione di controllo, Espressione di controllo4

CTRL+ALT+W, 4

Consente di visualizzare la finestra Espressione di controllo4.

Finestra, Variabili locali

Non disponibile

Punti di interruzione, Variabili locali

CTRL+ALT+V, L

Consente di visualizzare la finestra Variabili locali.

Finestra, Stack di chiamate

Non disponibile

Punti di interruzione, Stack di chiamate

CTRL+ALT+C

Consente di visualizzare la finestra Stack di chiamate.

Finestra, Thread

Non disponibile

Punti di interruzione, Thread

CTRL+ALT+H

Consente di visualizzare la finestra Thread.

Continua

Non disponibile

Continua

ALT+F5

Consente di eseguire il codice fino al successivo punto di interruzione. Continua non è attivo fintanto che una finestra dell'editor di query in modalità di debug non ha lo stato attivo.

Avvia debug

Non disponibile

Avvia debug

ALT+F5

Consente di attivare la modalità di debug per una finestra dell'editor di query ed eseguire il codice fino al primo punto di interruzione. Se lo stato attivo si trova in una finestra dell'editor di query in modalità di debug, Avvia debug viene sostituito da Continua.

Interrompi tutto

Non disponibile

Interrompi tutto

CTRL+ALT+INTERR

Questa caratteristica non è utilizzata dal debugger Transact-SQL.

Arresta debug

Non disponibile

Arresta debug

MAIUSC+F5

Consente di portare una finestra dell'editor di query dalla modalità di debug alla modalità normale.

Disconnetti tutto

Non disponibile

Non disponibile

Non disponibile

Consente di arrestare la modalità di debug, ma di eseguire le istruzioni restanti nella finestra dell'editor di query.

Esegui istruzione

Non disponibile

Esegui istruzione

F11

Consente di eseguire l'istruzione successiva e anche di aprire una nuova finestra dell'editor di query nella modalità di debug se l'istruzione successiva esegue una stored procedure, un trigger o una funzione.

Esegui istruzione/routine

Non disponibile

Esegui istruzione/routine

F10

Stessa funzione di Esegui istruzione eccetto per il fatto che con questo comando non viene eseguito il debug di funzioni, stored procedure o trigger.

Esci da istruzione/routine

Non disponibile

Esci da istruzione/routine

MAIUSC+F11

Consente di eseguire il codice restante in un trigger, una funzione o una stored procedure ignorando i punti di interruzione. La normale modalità di debug riprende quando il controllo viene restituito al codice che ha chiamato il modulo.

Non disponibile

Esegui fino al cursore

Non disponibile

CTRL+F10

Consente di eseguire tutto il codice dall'ultima posizione di arresto fino alla posizione corrente del cursore ignorando i punti di interruzione.

Controllo immediato

Controllo immediato

Non disponibile

CTRL+ALT+Q

Consente di visualizzare la finestra Controllo immediato.

Imposta/Rimuovi punto di interruzione

Punto di interruzione, Inserisci punto di interruzione

Non disponibile

F9

Consente di inserire un punto di interruzione in corrispondenza dell'istruzione Transact-SQL corrente o selezionata.

Non disponibile

Punto di interruzione, Elimina punto di interruzione

Non disponibile

Non disponibile

Consente di eliminare il punto di interruzione dalla riga selezionata.

Non disponibile

Punto di interruzione, Disabilita punto di interruzione

Non disponibile

Non disponibile

Consente di disabilitare il punto di interruzione nella riga selezionata. Il punto di interruzione rimane sulla riga di codice, ma l'esecuzione non verrà arrestata fino a quando non sarà riattivata.

Non disponibile

Punto di interruzione, Attiva punto di interruzione

Non disponibile

Non disponibile

Consente di attivare il punto di interruzione nella riga selezionata.

Elimina tutti i punti di interruzione

Non disponibile

Non disponibile

CTRL+MAIUSC+F9

Consente di eliminare tutti i punti di interruzione.

Disabilita tutti i punti di interruzione

Non disponibile

Non disponibile

Non disponibile

Consente di disabilitare tutti i punti di interruzione.

Non disponibile

Aggiungi espressione di controllo

Non disponibile

Non disponibile

Consente di aggiungere l'espressione selezionata alla finestra Espressione di controllo.