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 |
---|---|
Avalia essa expressão assincronamente. |
|
Termina a avaliação da expressão assíncrona. |
|
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