Partilhar via


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

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.

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 Locais . É útil perceber que cada linha na janela Locals exibe o nome, o tipo e o valor de uma variável local e que todos os três são representados 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.

Debate

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. A chamada IDebugExpressionEvaluator::GetMethodProperty retorna um IDebugProperty2 objeto que representa um método: ou seja, um objeto IDebugMethodField . Os métodos em si não são exibidos na janela Locais .

O método EnumChildren deve ser implementado em seguida. O mecanismo de depuração (DE) chama este método para obter uma lista de variáveis e argumentos locais ao passar 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.