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 gerenciada.

A execução sempre ocorre dentro do contexto de um método, também conhecido como método contendo 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 a ele um contexto de avaliação, ou seja, um provedor de símbolos (SP), o endereço de execução atual e um objeto de fichário. Para obter mais informações, consulte Contexto de avaliação. Se a chamada for bem-sucedida, o método retornará um objeto IDebugProperty2, que representa o IDebugExpressionEvaluator::GetMethodProperty método que contém o endereço de execução atual.

O DE chama EnumChildren para obter um objeto IEnumDebugPropertyInfo2, que é filtrado para retornar apenas 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 são normalmente exibidos juntos em uma linha da janela Locals .

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 seção

Exemplo de implementação de locais Usa exemplos para percorrer o processo de implementação de locais .