Visualizzazione dello stack di chiamate in WinDbg (versione classica)
Lo stack di chiamate è la catena di chiamate di funzione che hanno portato alla posizione corrente del contatore del programma. La funzione superiore nello stack di chiamate è la funzione corrente, la funzione successiva è la funzione che ha chiamato la funzione corrente e così via. Lo stack di chiamate visualizzato è basato sul contatore del programma corrente, a meno che non si modifica il contesto di registrazione. Per altre informazioni su come modificare il contesto di registrazione, vedere Modifica dei contesti.
In WinDbg è possibile visualizzare lo stack di chiamate immettendo comandi o usando la finestra Chiamate.
Finestra comando debugger
È possibile visualizzare lo stack di chiamate immettendo uno dei comandi k (Display Stack Backtrace) nella finestra Comando debugger.
Finestra chiamate
In alternativa al comando k , è possibile visualizzare lo stack di chiamate nella finestra Chiamate. Per aprire la finestra Chiamate, scegliere Stack di chiamate dal menu Visualizza .
La schermata seguente mostra un esempio di finestra Chiamate.
I pulsanti nella finestra Chiamate consentono di personalizzare la visualizzazione dello stack di chiamate. Per passare alla posizione della chiamata corrispondente nella finestra Origine o Disassembly, fare doppio clic su una riga dello stack di chiamate oppure selezionare una riga e premere INVIO. Questa azione modifica anche il contesto locale nel frame dello stack selezionato. Per altre informazioni sull'esecuzione o da questo punto, vedere Controllo della destinazione.
In modalità utente, la traccia dello stack si basa sullo stack del thread corrente. Per altre informazioni sullo stack del thread corrente, vedere Controllo dei processi e dei thread.
In modalità kernel, la traccia dello stack si basa sul contesto di registrazione corrente. È possibile impostare il contesto di registrazione in modo che corrisponda a un thread, un record di contesto o un frame di trap specifico. Per altre informazioni sull'impostazione del contesto di registrazione, vedere Registrare contesto.
La finestra Chiamate ha una barra degli strumenti che contiene diversi pulsanti e dispone di un menu di scelta rapida con comandi aggiuntivi. Per accedere a questo menu, selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sulla barra del titolo o selezionare l'icona nell'angolo superiore destro della finestra (
Gli arg non elaborati visualizzano i primi tre parametri passati alla funzione. In un processore basato su x86, questa visualizzazione include i primi tre parametri passati alla funzione ("Args to Child").
Le info func visualizzano i dati di omissione del puntatore fotogramma (FPO) e altre informazioni interne sulla funzione. Questo comando è disponibile solo in un processore basato su x86.
L'origine visualizza i nomi dei moduli di origine e i numeri di riga dopo i nomi delle funzioni (se il debugger ha queste informazioni).
I componenti aggiuntivi visualizzano vari indirizzi correlati a frame. In un processore basato su x86, questo display include il puntatore di base per il frame dello stack ("ChildEBP") e l'indirizzo restituito ("RetAddr").
I numeri di fotogramma visualizzano i numeri di cornice. I fotogrammi vengono sempre numerati consecutivamente, a partire da zero.
I tipi Arg visualizzano informazioni dettagliate sugli argomenti previsti e ricevuti dalle funzioni nello stack.
La finestra rimane sempre mobile anche se viene trascinata in una posizione di ancoraggio.
Lo spostamento con frame causa lo spostamento della finestra quando viene spostato il frame WinDbg, anche se la finestra viene annullata.
Informazioni aggiuntive
Per altre informazioni sul contesto di registrazione e sul contesto locale, vedere Modifica dei contesti.