Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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