Partilhar via


Avaliação de expressões (SDK de depuração do Visual Studio)

Durante o modo de interrupção, o IDE deve avaliar expressões simples envolvendo várias variáveis do programa. Para realizar sua avaliação, o mecanismo de depuração (DE) deve analisar e avaliar uma expressão que entrou em uma das janelas do IDE.

As expressões são criadas com o método IDebugExpressionContext2::P arseText e representadas pela interface IDebugExpression2 resultante.

A interface IDebugExpression2 é implementada pelo DE e chama seu método EvalAsync para retornar uma interface IDebugProperty2 para o IDE, a fim de exibir os resultados da avaliação de expressão no IDE. IDebugProperty2::GetPropertyInfo retorna uma estrutura que é usada para colocar o valor de uma expressão em uma janela Watch ou na janela Locals .

O pacote de depuração ou gerenciador de depuração de sessão (SDM) chama IDebugExpression2::EvaluateAsync ou EvaluateSync para obter uma interface IDebugProperty2 que representa o resultado da avaliação. IDebugProperty2 tem métodos que retornam o nome, o tipo e o valor da expressão. Essas informações aparecem em várias janelas do depurador.

Usando a avaliação de expressão

Para usar a avaliação de expressão, você deve implementar o método IDebugExpressionContext2::P arseText e todos os métodos da interface IDebugExpression2 , conforme mostrado na tabela a seguir.

Método Description
AvaliarAsync Avalia uma expressão de forma assíncrona.
Abortar Termina a avaliação assíncrona da expressão.
EvaluateSync Avalia uma expressão de forma síncrona.

A avaliação síncrona e assíncrona requer a implementação do método IDebugProperty2::GetPropertyInfo . A avaliação assíncrona de expressões requer a implementação de IDebugExpressionEvaluationCompleteEvent2.

Consulte também