Compartilhar via


Avaliação de expressão (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 de programa. Para realizar sua avaliação, o DE (mecanismo de depuração) deve analisar e avaliar uma expressão inserida 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 ao IDE, a fim de exibir os resultados da avaliação da expressão no IDE. IDebugProperty2::GetPropertyInfo retorna uma estrutura que é usada para colocar o valor de uma expressão em uma janela Inspeção ou na janela Locais .

O gerenciador de depuração de sessão (SDM) ou o pacote de depuração 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 são exibidas 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
EvaluateAsync Avalia uma expressão de forma assíncrona.
de anulação de Encerra a avaliação de expressão assíncrona.
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 de expressão assíncrona requer a implementação de IDebugExpressionEvaluationCompleteEvent2.

Consulte também