IDebugExpression2
Diese Schnittstelle stellt einen analysierten Ausdruck dar, der zum Binden und zum Auswerten bereit ist.
IDebugExpression2 : IUnknown
Hinweise für Implementierer
Das Debugmodul (DE) implementiert diese Schnittstelle, um einen analysierten Ausdruck dargestellt werden, der ausgewertet werden kann.
Hinweise für Aufrufer
Ein Aufruf von IDebugExpressionContext2::ParseText gibt diese Schnittstelle zurück. IDebugStackFrame2::GetExpressionContext gibt die IDebugExpressionContext2-Schnittstelle zurück. Diese Schnittstellen sind nur verfügbar, wenn das Programm, das gedebuggt wird, angehalten wurde und ein Stapelrahmen verfügbar ist.
Methoden in die Vtable-Reihenfolge
In der folgenden Tabelle werden die Methoden von IDebugExpression2an.
Methode |
Beschreibung |
---|---|
Wertet den Ausdruck asynchron aus. |
|
Beendet die asynchrone Ausdrucksauswertung. |
|
Wertet den Ausdruck synchron aus. |
Hinweise
Wenn ein Programm angehalten wurde, erhält der Debug- Manager der Sitzung (SDM) ein Stapelrahmen von DE mit einem Aufruf von IDebugThread2::EnumFrameInfo. Das SDM ruft dann IDebugStackFrame2::GetExpressionContext auf, um die IDebugExpressionContext2-Schnittstelle abzurufen. Dies wird bei einem Aufruf von IDebugExpressionContext2::ParseText befolgt, um die IDebugExpression2-Schnittstelle zu erstellen, die den analysierten Ausdruck darstellt, der ausgewertet werden kann.
Das SDM ruft entweder IDebugExpression2::EvaluateSync oder IDebugExpression2::EvaluateAsync an, um den Ausdruck auszuwerten und tatsächlich einen Wert zu erzeugen.
In einer Implementierung von IDebugExpressionContext2::ParseTextDE CoCreateInstance-Funktion verwendet, COM, um einen Ausdrucksauswertung zu instanziieren und eine IDebugExpressionEvaluator-Schnittstelle abzurufen (finden Sie im Beispiel in der IDebugExpressionEvaluator-Schnittstelle). DE IDebugExpressionEvaluator::Analyse wird anschließend zum Abrufen einer Verbindung IDebugParsedExpression-Schnittstelle. Diese Schnittstelle wird in der Implementierung von IDebugExpression2::EvaluateSync und IDebugExpression2::EvaluateAsync verwendet, um die Evaluierung auszuführen.
Anforderungen
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll
Siehe auch
Referenz
IDebugExpressionEvaluationCompleteEvent2::GetExpression