Condividi tramite


Eseguire il debugger Transact-SQL

si applica a:SQL Server

È possibile avviare il debugger Transact-SQL dopo aver aperto una finestra dell'editor di query del motore di database. È possibile impostare le opzioni per personalizzare la modalità di esecuzione del debugger ed eseguire il codice Transact-SQL in modalità di debug fino a quando non si arresta il debugger.

Avviare e arrestare il debugger

I requisiti per avviare il debugger di Transact-SQL sono i seguenti:

  • Se l'editor di query del motore di database è connesso a un'istanza del motore di database in un altro computer, è necessario configurare il debugger per il debug remoto. Per altre informazioni, vedere Configurare le regole del firewall prima di eseguire il debugger Transact-SQL.

  • La finestra dell'editor di query del motore di database deve essere connessa utilizzando un accesso con autenticazione Windows o SQL Server, che sia membro del ruolo server fisso sysadmin.

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

È consigliabile eseguire il debug di codice Transact-SQL in un server di test, non in un server di produzione, per i motivi seguenti:

  • Il debug è un'operazione con privilegi elevati. Pertanto, solo i membri del ruolo predefinito del server sysadmin possono eseguire il debug in SQL Server.

  • Le sessioni di debug vengono spesso eseguite per lunghi periodi di tempo durante l'analisi delle operazioni di diverse istruzioni Transact-SQL. I blocchi, come i blocchi di aggiornamento, acquisiti dalla sessione potrebbero essere mantenuti per periodi prolungati, fino alla chiusura della sessione o al commit o rollback della transazione.

L'avvio del debugger Transact-SQL inserisce la finestra dell'editor di query in modalità di debug. Quando la finestra dell'editor di query passa alla modalità di debug, il debugger si ferma alla prima riga di codice. È quindi possibile eseguire il codice, sospendere l'esecuzione in istruzioni Transact-SQL specifiche e usare le finestre del debugger per visualizzare lo stato di esecuzione corrente. È possibile avviare il debugger selezionando il pulsante Debug sulla barra degli strumenti Query o scegliendo Avvia debug dal menu Debug .

La finestra Dell'editor di query rimane in modalità di debug fino al termine dell'ultima istruzione nella finestra dell'editor di query o all'arresto della modalità di debug. È possibile arrestare l'esecuzione della modalità di debug e dell'istruzione usando uno dei metodi seguenti:

  • Scegliere Arresta debug dal menu Debug.
  • Sulla barra degli strumenti Debug selezionare il pulsante Arresta debug .
  • Nel menu Query, selezionare Annulla esecuzione query.
  • Sulla barra degli strumenti Query selezionare il pulsante Annulla esecuzione query .

È anche possibile arrestare la modalità di debug e consentire il completamento dell'esecuzione delle istruzioni Transact-SQL rimanenti selezionando Scollega tutto dal menu Debug .

Controllare il debugger

È possibile controllare il funzionamento del debugger Transact-SQL usando i comandi di menu, le barre degli strumenti e i tasti di scelta rapida seguenti:

  • Menu Debug e barra degli strumenti Debug . Sia il menu Debug che la barra degli strumenti Debug restano inattivi fino a quando non viene posizionato lo stato attivo in una finestra dell'Editor di query aperta. Rimangono attivi fino alla chiusura del progetto corrente.

  • Tasti di scelta rapida del debugger.

  • 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 che si applicano alla riga o alla stringa selezionata.

  • Voci di menu e comandi contestuali nelle finestre aperte dal debugger, ad esempio le finestre Osservazione o Punti di interruzione.

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

Comando di menu Debug Comando di scelta rapida dell'editor Pulsante barra degli strumenti Scelta rapida da tastiera Action
Punti di interruzione/Windows Non disponibile Interruzione Ctrl+Alt+B Visualizzare la finestra Punti di interruzione in cui è possibile visualizzare e gestire i punti di interruzione.
Windows/Watch/Watch1 Non disponibile Punti di interruzione/Monitoraggio/Monitoraggio1 Ctrl+Alt+W, 1 Visualizzare la finestra Watch1.
Windows/Watch/Watch2 Non disponibile Punti di interruzione/Osservazione/Osservazione2 Ctrl+Alt+W, 2 Visualizzare la finestra Watch2.
Windows/Watch/Watch3 Non disponibile Punti di interruzione/Watch/Watch3 Ctrl+Alt+W, 3 Visualizzare la finestra Watch3.
Windows/Watch/Watch4 Non disponibile Punti di interruzione/Osservazione/Osservazione4 Ctrl+Alt+W, 4 Visualizzare la finestra Watch4.
Windows/Locali Non disponibile Punti di interruzione/Variabili locali Ctrl+Alt+V, L Visualizzare la finestra Variabili locali .
Stack di chiamate/Windows Non disponibile Punti di interruzione/Stack di chiamate Ctrl+Alt+C Visualizzare la finestra Stack di chiamate .
Windows/Threads Non disponibile Punti di interruzione/thread Ctrl+Alt+H Visualizzare la finestra Threads.
Continuare Non disponibile Continuare Alt+F5 Esegui fino al prossimo punto di interruzione. Continua non è attivo finché non ci si concentra su una finestra dell'editor di query in modalità di debug.
Avviare il debug Non disponibile Avviare il debug Alt+F5 Imposta una finestra dell'editor di query in modalità debug e avvia fino al primo punto di interruzione. Se ci si concentra su una finestra dell'editor di query in modalità di debug, avvia debug viene sostituita da Continua.
Interrompi tutto Non disponibile Interrompi tutto Ctrl+Alt+Rompere Questa funzionalità non viene utilizzata dal debugger Transact-SQL.
Arresta debug Non disponibile Arresta debug Shift+F5 Disconnessare una finestra dell'editor di query dalla modalità di debug e restituirla alla modalità normale.
Scollega tutto Non disponibile Non disponibile Non disponibile Arresta la modalità di debug, ma esegue le istruzioni rimanenti nella finestra Dell'editor di query.
Passo in dettaglio Non disponibile Passo nell'esecuzione F11 Eseguire l'istruzione successiva e aprire anche una nuova finestra dell'editor di query in modalità di debug se l'istruzione successiva esegue una stored procedure, un trigger o una funzione.
Eseguire il passaggio Non disponibile Passa oltre F10 Uguale a Esegui istruzione, ad eccezione del fatto che non viene eseguito il debug di funzioni, stored procedure o trigger.
Esci Non disponibile Esci Shift+F11 Eseguire il codice rimanente in un trigger, una funzione o una stored procedure senza fermarsi ai punti di interruzione. La modalità di debug regolare riprende quando il controllo viene restituito al codice che ha chiamato il modulo.
Non disponibile Esegui fino al Cursore Non disponibile Ctrl+F10 Eseguire tutto il codice dall'ultima posizione di arresto alla posizione corrente del cursore senza arrestarsi in corrispondenza di punti di interruzione.
QuickWatch QuickWatch Non disponibile Ctrl+Alt+Q Visualizzare la finestra Controllo immediato .
Attiva/disattiva punto di interruzione Punto di interruzione/Inserisci punto di interruzione Non disponibile F9 Posizionare un punto di interruzione nell'istruzione Transact-SQL corrente o selezionata.
Non disponibile Punto di interruzione/Elimina punto di interruzione Non disponibile Non disponibile Eliminare il punto di interruzione dalla riga selezionata.
Non disponibile Punto di interruzione/Disabilita punto di interruzione Non disponibile Non disponibile Disabilitare il punto di interruzione nella riga selezionata. Il punto di interruzione rimane nella riga di codice, ma l'esecuzione non si arresta fino a quando non viene riabilitabile.
Non disponibile Punto di interruzione/Abilita punto di interruzione Non disponibile Non disponibile Abilitare il punto di interruzione nella riga selezionata.
Elimina tutti i punti di interruzione Non disponibile Non disponibile Ctrl+Shift+F9 Eliminare tutti i punti di interruzione.
Disabilita tutti i punti di interruzione Non disponibile Non disponibile Non disponibile Disabilitare tutti i punti di interruzione.
Non disponibile Aggiungi Watch Non disponibile Non disponibile Aggiungere l'espressione selezionata alla finestra Osservazione.