Accesso alle variabili locali
Le variabili locali, ad esempio le variabili globali, vengono archiviate nei file di simboli. Come per le variabili globali, il debugger interpreta i nomi come indirizzi. Possono essere letti e scritti nello stesso modo delle variabili globali. Tuttavia, se è necessario indicare a un comando che un simbolo è locale, precedere il simbolo con un segno di dollaro ( $ ) e un punto esclamativo ( ! ), come in $!var
.
Visual Studio e WinDbg forniscono elementi dell'interfaccia utente che è possibile usare (oltre ai comandi) per visualizzare e modificare le variabili locali. Per altre informazioni, vedere Visualizzazione e modifica di variabili locali in WinDbg (versione classica).
È anche possibile usare i metodi seguenti per visualizzare, modificare e usare le variabili locali:
Il comando dv (Visualizza variabili locali) visualizza i nomi e i valori di tutte le variabili locali.
L'estensione !for_each_local consente di eseguire ripetutamente un singolo comando, una volta per ogni variabile locale.
Esiste tuttavia una differenza principale tra le variabili locali e globali. Quando un'applicazione è in esecuzione, il significato delle variabili locali dipende dalla posizione del contatore del programma, perché l'ambito di tali variabili si estende solo alla funzione in cui sono definite.
Il debugger interpreta le variabili locali in base al contesto locale. Per impostazione predefinita, questo contesto corrisponde alla posizione del contatore del programma. Tuttavia, il debugger può modificare il contesto. Per altre informazioni sul contesto locale, vedere Contesto locale.
Quando il contesto locale viene modificato, la finestra Variabili locali viene immediatamente aggiornata per riflettere la nuova raccolta di variabili locali. Il comando dv mostra anche le nuove variabili. Tutti questi nomi di variabile vengono quindi interpretati correttamente dai comandi di memoria descritti in precedenza. È quindi possibile leggere o scrivere in queste variabili.