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::ParseText 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 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 pacote de depuração ou o SDM (gerenciador de depuração de sessã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 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::ParseText e todos os métodos da interface IDebugExpression2, conforme mostrado na tabela a seguir.

Método Descrição
EvaluateAsync Avalia uma expressão de modo assíncrono.
Anular Encerra a avaliação de expressão assíncrona.
EvaluateSync Avalia uma expressão de modo síncrono.

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.

Confira também