Nozioni fondamentali sul debugger Transact-SQL
Il debugger Transact-SQL consente di individuare errori nel codice Transact-SQL esaminandone il comportamento in fase di esecuzione. Dopo avere impostato la finestra dell'editor di query del Motore di database sulla modalità di debug, è possibile sospendere l'esecuzione di righe specifiche di codice e controllare le informazioni e i dati utilizzati o restituiti da quelle istruzioni Transact-SQL.
Spostamento nel codice Transact-SQL
Il debugger Transact-SQL fornisce le seguenti opzioni che è possibile utilizzare per spostarsi nel codice Transact-SQL quando la finestra dell'editor di query del Motore di database è in modalità di debug:
Impostare i punti di interruzione su singole istruzioni Transact-SQL.
Quando viene avviato, il debugger sospende l'esecuzione in corrispondenza della prima riga di codice nella finestra dell'editor di query. Per proseguire l'esecuzione fino al primo punto di interruzione impostato, è possibile utilizzare la caratteristica Continua. È possibile utilizzare la caratteristica Continua anche per procedere al successivo punto di interruzione da qualsiasi posizione in cui è stata attualmente effettuata la pausa all'interno della finestra.
Eseguire la successiva istruzione.
Questa opzione consente di spostarsi da un'istruzione alla successiva in un set di istruzioni e di osservare il comportamento di ognuna.
Eseguire una chiamata o passare alla successiva chiamata a una stored procedure o una funzione.
Se si è sicuri che in una stored procedure non vi siano errori, è possibile superarla. La procedura viene eseguita completamente e i risultati vengono restituiti al codice.
Se si desidera eseguire il debug di una stored procedure o una funzione, è possibile eseguirla nel modulo. In SQL Server Management Studio viene aperta una nuova finestra dell'editor di query del Motore di database popolata con il codice sorgente per il modulo, la finestra viene visualizzata nella modalità di debug, quindi viene sospesa l'esecuzione della prima istruzione nel modulo. È possibile spostarsi quindi attraverso il codice del modulo, ad esempio, impostando dei punti di interruzione o avanzando nel codice.
Per ulteriori informazioni su come il debugger consente di spostarsi nel codice, vedere Esecuzione istruzione per istruzione del codice Transact-SQL.
Visualizzazione delle informazioni del debugger
Ogni volta che il debugger sospende l'esecuzione in corrispondenza di un'istruzione Transact-SQL specifica, è possibile utilizzare le seguenti finestre del debugger per visualizzare lo stato corrente dell'esecuzione:
Variabili locali e Espressione di controllo. In queste finestre vengono visualizzate le espressioni Transact-SQL attualmente allocate. Le espressioni sono clausole Transact-SQL che restituiscono una singola espressione scalare. Il debugger Transact-SQL supporta la visualizzazione di espressioni che fanno riferimento a variabili, parametri oppure alle funzioni predefinite Transact-SQL i cui nomi iniziano con @@. In queste finestre vengono inoltre visualizzati i valori dei dati che sono attualmente assegnati alle espressioni.
Controllo immediato. In questa finestra viene visualizzato il valore di un'espressione Transact-SQL. È inoltre possibile salvare tale espressione nella finestra Espressione di controllo.
Punti di interruzione. In questa finestra vengono visualizzati i punti di interruzione attualmente impostati ed è possibile gestirli.
Stack di chiamate. In questa finestra viene visualizzato il percorso di esecuzione corrente. Questa finestra fornisce inoltre informazioni sul modo in cui l'esecuzione è passata dalla finestra dell'editor di query originale attraverso qualsiasi funzione, stored procedure o trigger per raggiungere il percorso di esecuzione corrente.
Output. In questa finestra vengono visualizzati i vari messaggi e dati del programma, ad esempio i messaggi di sistema inviati dal debugger.
Risultati e Messaggi. In queste schede della finestra dell'editor di query vengono visualizzati i risultati delle istruzioni Transact-SQL precedentemente eseguite.
Per ulteriori informazioni su come visualizzare le informazioni, vedere Visualizzazione delle informazioni del debugger Transact-SQL.
Vedere anche