Estratégia de implementação do avaliador de expressão

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.

Uma abordagem para criar rapidamente um avaliador de expressão (EE) é primeiro implementar o código mínimo necessário para exibir variáveis locais na janela Locals. É útil perceber que cada linha na janela Locals exibe o nome, o tipo e o valor de uma variável local e que todas as três são representadas por um objeto IDebugProperty2 . O nome, o tipo e o valor de uma variável local são obtidos de um IDebugProperty2 objeto chamando seu método GetPropertyInfo . Para obter mais informações sobre como exibir variáveis locais na janela Locais , consulte Exibindo locais.

Discussão

Uma possível sequência de implementação começa com a implementação de IDebugExpressionEvaluator. Os métodos Parse e GetMethodProperty devem ser implementados para exibir locais. Calling IDebugExpressionEvaluator::GetMethodProperty retorna um objeto que representa um método: ou seja, um IDebugProperty2objeto IDebugMethodField . Os métodos em si não são exibidos na janela Locals .

O método EnumChildren deve ser implementado em seguida. O mecanismo de depuração (DE) chama esse método para obter uma lista de variáveis e argumentos locais passando IDebugProperty2::EnumChildren um guidFilter argumento de guidFilterLocalsPlusArgs. IDebugProperty2::EnumChildren chama EnumArguments e EnumLocals, combinando os resultados em uma única enumeração. Consulte Exibir locais para obter mais detalhes.