Partilhar via


IDebugExpression2

Essa interface representa prontos para ligação e a avaliação de expressão analisada.

IDebugExpression2 : IUnknown

Observações 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 IDebugExpressionContext2::ParseText retorna essa interface. IDebugStackFrame2::GetExpressionContextRetorna o IDebugExpressionContext2 interface. 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 de Vtable

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

Método

Descrição

IDebugExpression2::EvaluateAsync

Avalia essa expressão assincronamente.

IDebugExpression2::Abort

Termina a avaliação da expressão assíncrona.

IDebugExpression2::EvaluateSync

Avalia essa expressão de forma síncrona.

Comentários

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

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

Em uma implementação de IDebugExpressionContext2::ParseText, o DE usa COM CoCreateInstance função instanciar um avaliador de expressão e obter um IDebugExpressionEvaluator interface (veja o exemplo de IDebugExpressionEvaluator interface). Chama o DE IDebugExpressionEvaluator::Parse para obter um IDebugParsedExpression interface. Essa interface é usada na implementação do IDebugExpression2::EvaluateSync e IDebugExpression2::EvaluateAsync para realizar a avaliação.

Requisitos

Cabeçalho: msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Consulte também

Referência

IDebugExpressionEvaluationCompleteEvent2::GetExpression

Conceitos

Interfaces principais