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.
Von Bedeutung
In Visual Studio 2015 ist diese Methode der Implementierung von Ausdrucksvaluatoren veraltet. Informationen zur Implementierung von CLR-Ausdrucksauswertern finden Sie unter CLR-Ausdrucksauswerter und Beispiel für verwaltete Ausdrucksauswerter.
Die Ausführung findet immer im Kontext einer Methode statt, auch als enthaltende Methode oder aktuelle Methode bezeichnet. Wenn die Ausführung angehalten wird, ruft Visual Studio das Debugmodul (DE) auf, um eine Liste der lokalen Variablen und Argumente abzurufen, die gemeinsam als Lokale der Methode bezeichnet werden. Visual Studio zeigt diese lokalen Variablen und deren Werte im Fenster "Lokale Variablen" an.
Zum Anzeigen von Locals ruft die DE die GetMethodProperty-Methode auf, die zum EE gehört, und gibt ihr einen Auswertungskontext, d. h. einen Symbolanbieter (SP), die aktuelle Ausführungsadresse und ein Binderobjekt. Weitere Informationen finden Sie im Evaluierungskontext. Wenn der Aufruf erfolgreich verläuft, gibt die IDebugExpressionEvaluator::GetMethodProperty Methode ein IDebugProperty2 -Objekt zurück, das die Methode darstellt, die die aktuelle Ausführungsadresse enthält.
Die DE ruft EnumChildren auf, um ein IEnumDebugPropertyInfo2-Objekt abzurufen, das so gefiltert wird, dass nur lokale Elemente zurückgegeben und aufgezählt werden, um eine Liste von DEBUG_PROPERTY_INFO Strukturen zu erstellen. Jede Struktur enthält den Namen, Typ und Wert einer lokalen Variablen. Der Typ und der Wert werden als formatierte Zeichenfolgen gespeichert, die für die Anzeige geeignet sind. Der Name, der Typ und der Wert werden in der Regel in einer Zeile des Fensters "Lokal" zusammen angezeigt.
Hinweis
Die Fenster "QuickWatch " und " Watch " zeigen außerdem Variablen mit demselben Format von Name, Wert und Typ an. Diese Werte werden jedoch durch Aufrufen von GetPropertyInfo anstelle von IDebugProperty2::EnumChildren.
In diesem Abschnitt
Beispielimplementierung von Locals verwendet Beispiele, um den Prozess der Implementierung von Locals zu durchlaufen.
Verwandte Inhalte
Der Auswertungskontext erklärt, dass beim Aufrufen des Ausdrucksauswertungsmoduls (DE) drei Argumente übergeben werden.