Freigeben über


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::ParseTextDE 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

Siehe auch