Freigeben über


Ausdrucksauswertung (Visual Studio Debugging SDK)

Im Break-Modus muss die IDE einfache Ausdrücke mit mehreren Programmvariablen auswerten. Um die Auswertung zu erreichen, muss die Debug-Engine (DE) einen Ausdruck analysieren und auswerten, der in eines der IDE-Fenster eingegeben wurde.

Ausdrücke werden mit der Methode IDebugExpressionContext2::ParseText erstellt und durch die resultierende Schnittstelle IDebugExpression2 dargestellt.

Die Schnittstelle IDebugExpression2 wird vom DE implementiert und ruft seine Methode EvalAsync auf, um eine Schnittstelle IDebugProperty2 an die IDE zurückzugeben, um die Ergebnisse der Ausdrucksauswertung in der IDE anzuzeigen. IDebugProperty2::GetPropertyInfo gibt eine Struktur zurück, die verwendet wird, um den Wert eines Ausdrucks in ein Watch Fenster oder in das Locals Fenster zu setzen.

Das Debuggen eines Pakets oder der Session Debug Manager (SDM) ruft IDebugExpression2::EvaluateAsync oder EvaluateSync auf, um eine IDebugProperty2 Schnittstelle zu erhalten, die das Ergebnis der Auswertung darstellt. IDebugProperty2 hat Methoden, die den Namen, den Typ und den Wert des Ausdrucks zurückgeben. Diese Informationen werden in verschiedenen Debugger-Fenstern angezeigt.

Auswertung von Ausdrücken

Um die Ausdrucksauswertung zu verwenden, müssen Sie die Methode IDebugExpressionContext2::ParseText und alle Methoden der Schnittstelle IDebugExpression2 implementieren, wie in der folgenden Tabelle dargestellt.

Methode Beschreibung
EvaluateAsync Wertet einen Ausdruck asynchron aus.
Abort Beendet die asynchrone Ausdrucksauswertung.
EvaluateSync Wertet einen Ausdruck synchron aus.

Synchrone und asynchrone Auswertung erfordern die Implementierung der Methode IDebugProperty2::GetPropertyInfo. Asynchrone Ausdrucksauswertung erfordert die Implementierung von IDebugExpressionEvaluationCompleteEvent2.

Weitere Informationen