IDebugExpression2

Questa interfaccia rappresenta un'espressione analizzata pronta per l'associazione e la valutazione.

Sintassi

IDebugExpression2 : IUnknown

Note per gli implementatori

Il motore di debug implementa questa interfaccia per rappresentare un'espressione analizzata pronta per la valutazione.

Note per i chiamanti

Una chiamata a ParseText restituisce questa interfaccia. GetExpressionContext restituisce l'interfaccia IDebugExpressionContext2 . Queste interfacce sono accessibili solo quando il programma sottoposto a debug è stato sospeso e è disponibile uno stack frame.

Metodi nell'ordine Vtable

Nella tabella seguente vengono illustrati i metodi di IDebugExpression2.

metodo Descrizione
EvaluateAsync Valuta questa espressione in modo asincrono.
Abort Termina la valutazione asincrona delle espressioni.
EvaluateSync Valuta questa espressione in modo sincrono.

Osservazioni:

Quando un programma è stato interrotto, il gestore di debug della sessione ottiene uno stack frame dalla de con una chiamata a EnumFrameInfo. SDM chiama quindi GetExpressionContext per ottenere l'interfaccia IDebugExpressionContext2 . Viene seguita da una chiamata a ParseText per creare l'interfaccia , che rappresenta l'espressione IDebugExpression2 analizzata pronta per la valutazione.

SDM chiama EvaluateSync o EvaluateAsync per valutare effettivamente l'espressione e produrre un valore.

In un'implementazione di IDebugExpressionContext2::ParseText, DE usa la funzione COM per creare un'istanza di CoCreateInstance un analizzatore di espressioni e ottenere un'interfaccia IDebugExpressionEvaluator (vedere l'esempio nell'interfaccia IDebugExpressionEvaluator ). De chiama quindi Parse per ottenere un'interfaccia IDebugParsedExpression . Questa interfaccia viene usata nell'implementazione di IDebugExpression2::EvaluateSync e IDebugExpression2::EvaluateAsync per eseguire la valutazione.

Requisiti

Intestazione: msdbg.h

Spazio dei nomi: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Vedi anche