Compartilhar via


IDebugExpression2

Essa interface representa uma expressão analisada pronta para vinculação e avaliação.

Sintaxe

IDebugExpression2 : IUnknown

Notas para implementadores

O mecanismo de depuração (DE) implementa essa interface para representar uma expressão analisada pronta para ser avaliada.

Observações para chamadores

Uma chamada para ParseText retorna essa interface. GetExpressionContext retorna a interface IDebugExpressionContext2 . Essas interfaces são acessíveis somente quando o programa que está sendo depurado foi pausado e um quadro de pilha está disponível.

Métodos na ordem VTable

A tabela a seguir mostra os métodos de IDebugExpression2.

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

Comentários

Quando um programa é interrompido, o gerenciador de depuração de sessão (SDM) obtém um quadro de pilha do DE com uma chamada para EnumFrameInfo. Em seguida, o SDM chama GetExpressionContext para obter a interface IDebugExpressionContext2 . Isso é seguido por uma chamada para ParseText para criar a interface, que representa a IDebugExpression2 expressão analisada pronta para ser avaliada.

O SDM chama EvaluateSync ou EvaluateAsync para realmente avaliar a expressão e produzir um valor.

Em uma implementação do , o DE usa a função COM CoCreateInstance para instanciar um avaliador de IDebugExpressionContext2::ParseTextexpressão e obter uma interface IDebugExpressionEvaluator (consulte o IDebugExpressionEvaluator Exemplo na interface). Em seguida, o DE chama Parse para obter uma interface IDebugParsedExpression . Essa interface é utilizada na implementação e IDebugExpression2::EvaluateAsync realização da IDebugExpression2::EvaluateSync avaliação.

Requisitos

Cabeçalho: msdbg.h

Espaço para nome: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Confira também