Debugger Transact-SQL - Finestra Stack di chiamate

Si applica a:SQL Server

Nella finestra Stack di chiamate vengono visualizzati i moduli nello stack di chiamate e i tipi di dati e i valori di qualsiasi parametro passati ai moduli. I moduli Transact-SQL includono stored procedure, funzioni e trigger. Per visualizzare lo stack di chiamate, è necessario utilizzare la modalità di debug.

Questa funzionalità è disponibile con la versione 17.9.1 di SSMS e versioni precedenti.

Elenco attività

Per accedere alla finestra Stack di chiamate

  • Scegliere Finestre dal menu Debug, quindi fare clic su Stack di chiamate.

Per modificare il frame dello stack di chiamate corrente

Per impostare il frame dello stack come frame corrente, è possibile utilizzare una delle procedure seguenti:

  • Fare clic con il pulsante destro del mouse sul frame dello stack, quindi scegliere Passa al frame.

  • Fare doppio clic sul frame dello stack.

Per visualizzare l'origine di un frame diversa dal frame corrente

  • Fare clic con il pulsante destro del mouse sul frame dello stack, quindi scegliere Vai a codice sorgente.

Frame dello stack

Ogni riga nella finestra Stack di chiamate è denominata stack frame e rappresenta una chiamata da un file di script Transact-SQL a un modulo o una chiamata da un modulo a un altro modulo. Lo stack frame più in basso nella visualizzazione indica la riga nella finestra dell'editor di query del motore di database che ha eseguito la prima chiamata nello stack. La riga superiore indica la riga in cui il debugger ha sospeso l'esecuzione ed è identificata da una freccia gialla nel margine sinistro della finestra. Ogni riga intermedia indica il modulo e il numero di riga del codice sorgente che ha chiamato il frame dello stack superiore successivo.

Tutte le espressioni incluse nelle finestre Variabili locali, Espressione di controlloe Controllo immediato vengono valutate in base al frame dello stack corrente. Nella finestra dell'editor di query viene visualizzato il codice per il frame corrente. Per impostazione predefinita, lo stack frame corrente è il frame in cui il debugger Transact-SQL ha sospeso l'esecuzione. Quando si imposta il frame dello stack corrente su un altro frame, le espressioni incluse nelle finestre Variabili locali, Espressione di controlloe Controllo immediato vengono nuovamente valutate nel contesto del nuovo frame e il codice sorgente del nuovo frame viene visualizzato nella finestra dell'editor di query.

Colonne

Nome
Vengono visualizzate informazioni su un modulo nello stack di chiamate.

Per la riga inferiore nello stack di chiamate, in Nome vengono indicati la finestra di origine dell'editor di query e il numero di riga della prima chiamata nello stack. Per le altre righe, Nome usa il formato Module(Instance.Database)(ParmList) LineNumber.

Modulo
Nome della stored procedure o della funzione che ha eseguito la chiamata al frame successivo.

Instance.Database
Istanza del motore di database e database che contiene il modulo.

ParmList
Indica il tipo di dati, il nome e il valore per ogni parametro passato durante la chiamata al modulo.

LineNumber
Per tutte le righe ad eccezione di quella superiore, LineNumber indica la riga nel modulo che ha eseguito la chiamata al frame. Per la riga superiore, LineNumber indica la riga in cui è attualmente attivo il debugger.

Lingua
Visualizza Transact-SQL per Transact-SQL.

Vedi anche