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