Partilhar via


Exibir locais

Importante

No Visual Studio 2015, essa maneira de implementar avaliadores de expressão foi preterida. Para obter informações sobre como implementar avaliadores de expressão CLR, consulte Avaliadores de expressão CLR e Exemplo de avaliador de expressão gerenciado.

A execução sempre ocorre dentro do contexto de um método, também conhecido como método de contenção ou método atual. Quando a execução pausa, o Visual Studio chama o mecanismo de depuração (DE) para obter uma lista de variáveis e argumentos locais, chamados coletivamente de locais do método. O Visual Studio exibe esses locais e seus valores na janela Locais .

Para exibir locais, o DE chama o método GetMethodProperty pertencente ao EE e fornece um contexto de avaliação, ou seja, um provedor de símbolos (SP), o endereço de execução atual e um objeto associador. Para obter mais informações, consulte Contexto da avaliação. Se a chamada for bem-sucedida, o IDebugExpressionEvaluator::GetMethodProperty método retornará um objeto IDebugProperty2 , que representa o método que contém o endereço de execução atual.

O DE chama EnumChildren para obter um objeto IEnumDebugPropertyInfo2, que é filtrado para devolver apenas variáveis locais e enumerado para produzir uma lista de estruturas DEBUG_PROPERTY_INFO. Cada estrutura contém o nome, o tipo e o valor de um local. O tipo e o valor são armazenados como cadeias de caracteres formatadas, adequadas para exibição. O nome, o tipo e o valor normalmente são exibidos juntos em uma linha da janela Locais .

Observação

As janelas QuickWatch e Watch também exibem variáveis com o mesmo formato de nome, valor e tipo. No entanto, esses valores são obtidos chamando GetPropertyInfo em vez de IDebugProperty2::EnumChildren.

Nesta secção

Exemplo de implementação de variáveis locais usa exemplos para demonstrar o processo de implementação de variáveis locais.