Condividi tramite


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

IDebugExpression2:: EvaluateAsync

Valuta l'espressione in modo asincrono.

IDebugExpression2:: interruzione

termina la valutazione asincrona di espressione.

IDebugExpression2:: EvaluateSync

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

Concetti

interfacce principali