Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
si applica a:SQL Server
Ogni volta che il debugger sospende l'esecuzione su un'istruzione Transact-SQL specifica, è possibile usare le varie finestre del debugger per visualizzare lo stato di esecuzione corrente.
Finestre del debugger
In modalità debugger, il debugger apre delle finestre accanto alla finestra dell'editor di query. Il debugger visualizza le informazioni nelle finestre selezionate. Ogni finestra del debugger include schede che è possibile selezionare per controllare il set di informazioni visualizzato nella finestra. Le schede Stack di chiamate, Punti di interruzione, Impostazioni eccezioni e Output sono contenute in una finestra. Le schede Watch1, Watch2, Watch3 e Watch4 sono contenute in una finestra. Le finestre Thread e Variabili locali vengono visualizzate separatamente.
Annotazioni
Le descrizioni precedenti si applicano ai percorsi predefiniti delle finestre del debugger. È possibile trascinare una scheda per spostarla da una finestra a un'altra oppure scollegare una scheda per creare una nuova finestra per le schede selezionate.
Per impostazione predefinita, non tutte queste schede o finestre sono attive. Per aprire una finestra specifica, scegliere Windows dal menu Debug e quindi selezionare la finestra da visualizzare.
espressioni Transact-SQL
Le espressioni sono clausole Transact-SQL che restituiscono un singolo valore scalare, ad esempio variabili o parametri. La finestra del debugger può visualizzare i valori dei dati attualmente assegnati alle espressioni in un massimo di cinque schede o finestre: Variabili locali, Espressione di controllo1, Espressione di controllo2, Watch3 e Watch4.
Nella finestra Variabili locali vengono visualizzate informazioni sulle variabili locali nell'ambito corrente del debugger Transact-SQL. Il set di espressioni elencate nella finestra Variabili locali cambia man mano che il debugger viene eseguito nelle diverse parti del codice.
Le espressioni nelle quattro finestre Watch non sono limitate solo a elencare l'identificatore di una variabile. È possibile specificare un'espressione Transact-SQL che restituisce un singolo valore, ad esempio l'aggiunta di un numero a una variabile o un'istruzione SELECT che restituisce un singolo valore. Gli esempi includono:
Nome di una variabile, ad esempio
@IntegerCounter.Operazione aritmetica su una variabile, ad esempio
@IntegerCounter + 1.Operazione stringa su due variabili di caratteri, ad esempio
@FirstName + @LastName.Una istruzione che restituisce
SELECTun singolo valore, ad esempio:SELECT CharCol FROM MyTable WHERE PrimaryKey = 1.
Le quattro finestre Watch visualizzano informazioni sulle variabili e le espressioni selezionate. Il set di espressioni elencate nelle finestre Watch non cambia finché non si aggiungono o si eliminano espressioni dall'elenco.
Per aggiungere un'espressione a una finestra Espressione di controllo , immettere il nome dell'espressione nella colonna Nome di una riga vuota in una finestra Espressione di controllo . È anche possibile selezionare Controllo immediato dal menu Debug , immettere un'espressione e quindi selezionare Aggiungi espressione di controllo.
È possibile impostare i valori dei dati per le variabili nelle finestre Variabili locali, Espressione di controllo o Controllo immediato facendo clic con il pulsante destro del mouse sulla riga e quindi scegliendo Modifica valore. Le colonne Valore nella finestra Variabili locali , nella finestra Espressione di controllo e nella finestra di dialogo Controllo immediato supportano tutti i visualizzatori di testo, XML e HTML. I visualizzatori sono rappresentati da una descrizione dati con lente di ingrandimento sul lato destro della colonna Valori . È possibile utilizzare i visualizzatori per visualizzare i valori di dati text, XML o HTML in visualizzati che corrispondono ai tipi di dati, ad esempio visualizzando i file XML in una finestra del browser.
In modalità debug, quando si sposta il puntatore del mouse su un identificatore, viene visualizzato un popup Informazioni rapide con il nome dell'espressione e il relativo valore corrente. Per altre informazioni, vedere Informazioni rapide (IntelliSense).
Punti di interruzione
È possibile utilizzare la finestra Punti di interruzione per visualizzare e gestire i punti di interruzione. Per ulteriori informazioni, vedere Passo a passo nel codice Transact-SQL.
Stack di chiamate
La finestra Stack di chiamate mostra la posizione di esecuzione corrente e fornisce informazioni su come l'esecuzione è passata dalla finestra dell'editor originale attraverso i moduli di Transact-SQL (funzioni, stored procedure o trigger) fino a raggiungere la posizione di esecuzione corrente. Ogni riga nella finestra Stack di chiamate è denominata stack frame e rappresenta uno degli elementi seguenti:
- Percorso di esecuzione corrente.
- Chiamata da un modulo a un altro.
- Chiamata da una finestra dell'editor a un modulo Transact-SQL.
L'ordine dello stack è il contrario dell'ordine in cui sono stati chiamati i moduli. La posizione di esecuzione corrente si trova nella parte superiore dello stack e la chiamata originale si trova nella parte inferiore. Una freccia gialla sul margine sinistro del frame dello stack identifica il frame in cui il debugger ha sospeso l'esecuzione.
La colonna Name registra le informazioni seguenti:
Il modulo sorgente che contiene la riga di codice che ha invocato al livello successivo.
Riga di codice che ha invocato il modulo seguente nello stack.
I nomi, i tipi di dati e i valori di tutti i parametri vengono elencati se la chiamata è passata a una stored procedure o a una funzione che accetta parametri.
Le espressioni nelle finestre Variabili locali, Osservazione e Controllo rapido vengono valutate per il frame di stack corrente. Per impostazione predefinita, lo stack frame corrente è il frame superiore nello stack, in cui il debugger ha sospeso l'esecuzione. Quando si imposta un altro frame dello stack come frame corrente, le espressioni nelle finestre Variabili locali, Osservazione e Osservazione rapida vengono rivalutate per il nuovo frame dello stack. È possibile modificare il frame dello stack corrente facendo doppio clic su un frame o selezionando un frame e selezionando Passa a frame. A questo punto, le espressioni nelle finestre Variabili locali, Espressione di controllo e Controllo immediato vengono rivalutate per il nuovo frame. Ogni volta che il frame corrente dello stack non è il frame superiore nello stack, una freccia verde sul margine sinistro identifica il frame corrente dello stack.
Quando si fa clic con il pulsante destro del mouse su uno stack frame e si seleziona Vai al codice sorgente, il codice per tale frame viene visualizzato in una finestra dell'editor di query. Tuttavia, tale frame non viene reso il frame corrente e il contenuto delle finestre Variabili locali, Osserva e Visualizzazione rapida non viene modificato.
Informazioni di sistema e risultati Transact-SQL
Il debugger elenca i messaggi relativi allo stato e agli eventi nella finestra Output . La finestra include informazioni come quando il debugger si collega ad altri processi o quando terminano i thread del debugger.
In modalità di debug, le schede Risultati e Messaggi sono ancora attive nell'editor di query. La scheda Risultati continua a visualizzare i set di risultati delle istruzioni Transact-SQL eseguite durante una sessione di debug. La scheda Messaggi continua a visualizzare messaggi di sistema, come il numero di righe interessate e l'output delle istruzioni PRINT e RAISERROR.