Acessando variáveis locais
Variáveis locais, como variáveis globais, são armazenadas nos arquivos de símbolo. E, assim como acontece com variáveis globais, o depurador interpreta seus nomes como endereços. Elas podem ser lidas e escritas da mesma maneira que as variáveis globais. No entanto, se você precisar indicar a um comando que um símbolo é local, preceda o símbolo com um cifrão ( $ ) e um ponto de exclamação ( ! ), como em $!var
.
O Visual Studio e o WinDbg fornecem elementos de interface do usuário que você pode usar (além de comandos) para exibir e editar variáveis locais. Para obter mais informações, consulte Exibindo e editando variáveis locais no WinDbg (clássico).
Você também pode usar os seguintes métodos para exibir, alterar e usar variáveis locais:
O comando dv (Exibir Variáveis Locais) exibe os nomes e valores de todas as variáveis locais.
A extensão !for_each_local permite executar um único comando repetidamente, uma vez para cada variável local.
No entanto, há uma diferença primária entre variáveis locais e globais. Quando um aplicativo está em execução, o significado das variáveis locais depende da localização do contador do programa, pois o escopo dessas variáveis se estende apenas à função na qual elas são definidas.
O depurador interpreta variáveis locais de acordo com o contexto local. Por padrão, esse contexto corresponde ao local do contador do programa. Mas o depurador pode alterar o contexto. Para obter mais informações sobre o contexto local, consulte Contexto Local.
Quando o contexto local é alterado, a janela Locais é atualizada imediatamente para refletir a nova coleção de variáveis locais. O comando dv também mostra as novas variáveis. Todos esses nomes de variáveis são interpretados corretamente pelos comandos de memória descritos anteriormente. Em seguida, você pode ler ou gravar nessas variáveis.