IDebugExpression2
Diese Schnittstelle stellt einen analysierten Ausdruck dar, der für die Bindung und Auswertung bereit ist.
Syntax
IDebugExpression2 : IUnknown
Hinweise für Implementierer
Das Debugmodul (DE) implementiert diese Schnittstelle, um einen analysierten Ausdruck darzustellen, der ausgewertet werden kann.
Hinweise für Aufrufer
Ein Aufruf von ParseText gibt diese Schnittstelle zurück. GetExpressionContext gibt die IDebugExpressionContext2-Schnittstelle zurück. Auf diese Schnittstellen kann nur zugegriffen werden, wenn das zu debuggende Programm angehalten wurde und ein Stapelframe verfügbar ist.
Methoden in Vtable-Reihenfolge
In der folgenden Tabelle sind die Methoden von IDebugExpression2
aufgeführt.
Methode | Beschreibung |
---|---|
EvaluateAsync | Wertet diesen Ausdruck asynchron aus. |
Abort | Beendet die asynchrone Ausdrucksauswertung. |
EvaluateSync | Wertet diesen Ausdruck synchron aus. |
Hinweise
Wenn ein Programm angehalten wurde, ruft der Sitzungsdebug-Manager (SDM) einen Stapelframe aus der DE mit einem Aufruf von EnumFrameInfo ab. Die SDM ruft dann GetExpressionContext auf, um die IDebugExpressionContext2-Schnittstelle abzurufen. Dies folgt ein Aufruf von ParseText , um die IDebugExpression2
Schnittstelle zu erstellen, die den analysierten Ausdruck darstellt, der ausgewertet werden kann.
Die SDM ruft entweder EvaluateSync oder EvaluateAsync auf, um den Ausdruck tatsächlich auszuwerten und einen Wert zu erzeugen.
Bei einer Implementierung von IDebugExpressionContext2::ParseText
DE wird die COM-Funktion CoCreateInstance
verwendet, um einen Ausdrucksauswert zu instanziieren und eine IDebugExpressionEvaluator-Schnittstelle abzurufen (siehe Beispiel in der IDebugExpressionEvaluator
Schnittstelle). Die DE ruft dann Parse auf, um eine IDebugParsedExpression-Schnittstelle abzurufen. Diese Schnittstelle wird bei der Implementierung und IDebugExpression2::EvaluateSync
IDebugExpression2::EvaluateAsync
Durchführung der Auswertung verwendet.
Anforderungen
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll