Procedura: utilizzare la finestra Stack di chiamate
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
Tramite la finestra Stack di chiamate è possibile visualizzare le chiamate di funzione o di routine attualmente presenti nello stack.
Nella finestra Stack di chiamate vengono visualizzati il nome di ogni funzione e il linguaggio di programmazione nel quale è scritta. Il nome della funzione o della routine può essere seguito da informazioni facoltative quali il nome del modulo, il numero di riga, l'offset dei byte, oltre a nomi, tipi e valori dei parametri. La visualizzazione di queste informazioni opzionali può essere attivata o disattivata.
Lo stack frame in cui è attualmente posizionato il puntatore di esecuzione è contraddistinto da una freccia gialla. Per impostazione predefinita, si tratta del frame le cui informazioni vengono visualizzate nella finestra di origine, nonché nelle finestre Disassembly, Variabili locali, Espressioni di controllo e Auto. Se lo si desidera, è possibile modificare il contesto specificando un altro frame dello stack nella finestra Stack di chiamate.
Quando i simboli per il debug non sono disponibili per una parte di uno stack di chiamate, è possibile che nella finestra Stack di chiamate non vengano visualizzate informazioni corrette per tale parte. Verrà visualizzata la notazione seguente:
[I frame indicati di seguito possono essere errati e/o mancanti, non sono stati caricati simboli per nome.dll]
Per impostazione predefinita, nel codice gestito la finestra Stack di chiamate nasconde informazioni per codice non utente. Di seguito è riportata la notazione visualizzata in sostituzione delle informazioni nascoste:
[<External Code>]
Per codice non utente si intende qualsiasi codice diverso da "My Code". Per ulteriori informazioni su "My Code", vedere Procedura: eseguire l'istruzione Just My Code. Per visualizzare le informazioni sullo stack di chiamate per il codice non utente, utilizzare il menu di scelta rapida.
Utilizzando il menu di scelta rapida, è possibile scegliere se visualizzare o meno le chiamate tra thread.
Nota
Le finestre di dialogo e i comandi di menu visualizzati potrebbero non corrispondere a quelli descritti nella Guida in quanto dipendono dall'edizione o dalle impostazioni in uso. Per modificare le impostazioni, selezionare Importa/Esporta impostazioni nel menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Per visualizzare la finestra Stack di chiamate in modalità di interruzione o di esecuzione
- Selezionare Finestre dal menu Debug, quindi fare clic su Stack di chiamate.
Per scegliere quali informazioni opzionali visualizzare
- Fare clic con il pulsante destro del mouse nella finestra Stack di chiamate e selezionare o deselezionare Mostra <le informazioni desiderate>.
Per visualizzare i frame del codice non utente nella finestra Stack di chiamate
- Fare clic con il pulsante destro del mouse sulla finestra Stack di chiamate e selezionare Mostra codice esterno.
Per passare a un altro stack frame
Nella finestra Stack di chiamate fare clic con il pulsante destro del mouse sul frame di cui si desidera visualizzare codice e dati.
Selezionare Passa al frame.
Accanto al frame selezionato verrà visualizzata una freccia verde ricurva. Il puntatore di esecuzione rimarrà nel frame originale, sempre contrassegnato dalla freccia gialla. Se si sceglie Esegui o Continua dal menu Debug, l'esecuzione continuerà nel frame originale, non nel frame selezionato.
Per visualizzare le chiamate da o verso altri thread
- Fare clic con il pulsante destro del mouse sulla finestra Stack di chiamate e selezionare Includi chiamate da e verso altri thread.
Per visualizzare il codice sorgente di una funzione dello stack di chiamate
- Nella finestra Stack di chiamate fare clic con il pulsante destro del mouse sulla funzione della quale si desidera esaminare il codice sorgente e selezionare Vai a codice sorgente.
Per visualizzare il codice disassembly di una funzione dello stack di chiamate
- Nella finestra Stack di chiamate fare clic con il pulsante destro del mouse sulla funzione della quale si desidera esaminare il codice del disassembly e selezionare Vai a disassembly.
Per eseguire una funzione specifica dalla finestra Stack di chiamate
Per impostare un punto di interruzione in corrispondenza del punto di uscita di una chiamata di funzione
Per caricare i simboli per un modulo
- Nella finestra Stack di chiamate fare clic con il pulsante destro del mouse sul frame in cui viene visualizzato il modulo contenente i simboli che si desidera ricaricare e selezionare Carica simboli.
Caricamento dei simboli
Nella finestra Stack di chiamate è possibile caricare i simboli di debug per un codice che non ne dispone. Questi simboli possono essere simboli di sistema o .NET Framework scaricati dai server dei simboli pubblici Microsoft o simboli contenuti in un percorso nel computer del quale si esegue il debug.
Per ulteriori informazioni, vedere Procedura: utilizzare un server di simboli e Procedura: specificare percorsi di simboli e comportamento di caricamento.
Per caricare i simboli
Nella finestra Stack di chiamate fare clic con il pulsante destro del mouse sul frame per il quale non sono caricati i simboli. Il frame verrà disattivato (rappresentato in grigio).
Scegliere Carica simboli da, quindi fare clic su Server dei simboli Microsoft o Percorso simboli.
Per impostare il percorso dei simboli
Nella finestra Moduli, fare clic con il pulsante destro del mouse su un modulo.
Fare clic su Impostazioni simboli.
Viene visualizzata la finestra di dialogo Opzioni con la pagina Simboli.
Nella finestra di dialogo Opzioni fare clic sull'icona della cartella.
Viene visualizzato un cursore nella casella Percorsi dei file di simboli (pdb).
Digitare il percorso di directory del simbolo sul computer del quale si esegue il debug. Per il debug locale, è il computer locale. Per il debug remoto, è il computer remoto.
Scegliere OK per chiudere la finestra di dialogo Opzioni.
Vedere anche
Attività
Procedura: utilizzare un server di simboli
Procedura: specificare percorsi di simboli e comportamento di caricamento
Riferimenti
Procedura: modificare il formato numerico delle finestre del debugger
Concetti
Codice misto e informazioni mancanti nella finestra Stack di chiamate