Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Während des Unterbrechungsmodus muss die IDE einfache Ausdrücke auswerten, die mehrere Programmvariablen umfassen. Zum Ausführen der Auswertung muss das Debugmodul (DE) einen Ausdruck analysieren und auswerten, der in einem der Fenster der IDE eingegeben wurde.
Ausdrücke werden mit der IDebugExpressionContext2::P arseText-Methode erstellt und durch die resultierende IDebugExpression2-Schnittstelle dargestellt.
Die IDebugExpression2-Schnittstelle wird von der DE implementiert und ruft die EvalAsync-Methode auf, um eine IDebugProperty2-Schnittstelle 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 Lokalfenster einzufügen.
Das Debugpaket oder der Sitzungsdebug-Manager (SDM) ruft IDebugExpression2::EvaluateAsync oder EvaluateSync auf, um eine IDebugProperty2-Schnittstelle abzurufen, die das Ergebnis der Auswertung darstellt.
IDebugProperty2 verfügt über Methoden, die den Namen, typ und den Wert des Ausdrucks zurückgeben. Diese Informationen werden in verschiedenen Debuggerfenstern angezeigt.
Verwenden der Ausdrucksauswertung
Zum Verwenden der Ausdrucksauswertung müssen Sie die IDebugExpressionContext2::P arseText-Methode und alle Methoden der IDebugExpression2-Schnittstelle implementieren, wie in der folgenden Tabelle dargestellt.
| Methode | Description |
|---|---|
| EvaluateAsync | Wertet einen Ausdruck asynchron aus. |
| abbrechen | Beendet die asynchrone Ausdrucksauswertung. |
| EvaluateSync | Wertet einen Ausdruck synchron aus. |
Die synchrone und asynchrone Auswertung erfordert die Implementierung der IDebugProperty2::GetPropertyInfo-Methode . Die asynchrone Ausdrucksauswertung erfordert die Implementierung von IDebugExpressionEvaluationCompleteEvent2.