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.
Ausdrucksauswerter (EE) untersuchen die Syntax einer Sprache zum Analysieren und Auswerten von Variablen und Ausdrücken zur Laufzeit, sodass sie vom Benutzer angezeigt werden können, wenn sich die IDE im Unterbrechungsmodus befindet.
Verwenden von Ausdrucksauswertern
Ausdrücke werden mithilfe der ParseText-Methode wie folgt erstellt:
Das Debugmodul (DE) implementiert die IDebugExpressionContext2-Schnittstelle .
Das Debugpaket ruft ein
IDebugExpressionContext2Objekt von einer IDebugStackFrame2-Schnittstelle ab und ruft dann dieIDebugStackFrame2::ParseTextMethode auf, um ein IDebugExpression2 -Objekt abzurufen.Das Debugpaket ruft die EvaluateSync-Methode oder die EvaluateAsync-Methode auf, um den Wert des Ausdrucks abzurufen.
IDebugExpression2::EvaluateAsyncwird über das Befehls-/Direktfenster aufgerufen. Alle anderen UI-Komponenten rufenIDebugExpression2::EvaluateSyncauf.Das Ergebnis der Ausdrucksauswertung ist ein IDebugProperty2-Objekt , das den Namen, typ und den Wert des Ergebnisses der Ausdrucksauswertung enthält.
Während der Ausdrucksauswertung benötigt der EE Informationen aus der Symbolanbieterkomponente. Der Symbolanbieter liefert die symbolischen Informationen, die zum Identifizieren und Verstehen des analysierten Ausdrucks verwendet werden.
Wenn die asynchrone Ausdrucksauswertung abgeschlossen ist, wird ein asynchrones Ereignis vom DE über den Sitzungsdebug-Manager (SDM) gesendet, um die IDE zu benachrichtigen, dass die Ausdrucksauswertung abgeschlossen ist. Und das Ergebnis der Auswertung wird dann vom Aufruf der
IDebugExpression2::EvaluateSyncMethode zurückgegeben.
Implementierungshinweise
Die Visual Studio-Debugmodule erwarten, dass sie mit dem Ausdrucksauswerter über CLR-Schnittstellen (Common Language Runtime) sprechen. Daher muss ein Ausdrucksauswert, der mit den Visual Studio-Debugmodulen arbeitet, die CLR unterstützen (eine vollständige Liste aller CLR-Debugschnittstellen finden Sie in debugref.doc, die Teil des Windows Software Development Kit (SDK)ist).