IDebugExpression2
Questa interfaccia rappresenta un'espressione analizzata pronta per associare e valutare.
IDebugExpression2 : IUnknown
Note per gli implementatori
Il motore (DE) di debug implementa questa interfaccia per rappresentare un'espressione analizzata pronta per essere valutato.
Note per i chiamanti
Una chiamata IDebugExpressionContext2:: ParseText a restituisce questa interfaccia. IDebugStackFrame2:: GetExpressionContext restituisce IDebugExpressionContext2 l'interfaccia. Queste interfacce sono accessibili solo quando il programma sottoposto a debug è stato messo in pausa e uno stack frame è disponibile.
Metodi nell'ordine di Vtable
Nella tabella seguente sono elencati i metodi di IDebugExpression2.
Metodo |
Descrizione |
---|---|
Valuta l'espressione in modo asincrono. |
|
termina la valutazione asincrona di espressione. |
|
Valuta l'espressione in modo sincrono. |
Note
Quando un programma è stato interrotto, l'amministratore (SDM) di debug della sessione ottiene uno stack frame da DE con una chiamata a IDebugThread2:: EnumFrameInfo. Le chiamate di SDM quindi IDebugStackFrame2:: GetExpressionContext per IDebugExpressionContext2 ottenere l'interfaccia. Questo è seguito da una chiamata a IDebugExpressionContext2:: ParseText per creare l'interfaccia di IDebugExpression2 , che rappresenta l'espressione analizzata pronta per essere valutato.
Lo SDM chiama o IDebugExpression2:: EvaluateSync effettivamente IDebugExpression2:: EvaluateAsync valutare l'espressione e produrre un valore.
In un'implementazione di IDebugExpressionContext2::ParseText, la funzione di CoCreateInstance di utilizza COM di DE per creare un'istanza di un analizzatore di espressioni e per IDebugExpressionEvaluator ottenere un'interfaccia (vedere l'esempio nell'interfaccia di IDebugExpressionEvaluator ). Le chiamate di DE quindi IDebugExpressionEvaluator:: Di traccia per IDebugParsedExpression ottenere un'interfaccia. Questa interfaccia viene utilizzata nell'implementazione di IDebugExpression2::EvaluateSync e di IDebugExpression2::EvaluateAsync per eseguire la valutazione.
Requisiti
intestazione: msdbg.h
Spazio dei nomi: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll
Vedere anche
Riferimenti
IDebugExpressionEvaluationCompleteEvent2:: GetExpression