Freigeben über


Gewusst wie: Überwachen eines Ausdrucks im Debugger

Aktualisiert: November 2007

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

C++

Web Developer

Express

Standard

Pro und Team

Tabellenlegende:

Vorhanden

Nicht vorhanden

Befehl oder Befehle, die standardmäßig ausgeblendet sind.

Im Fenster Überwachen und im Dialogfeld Schnellüberwachung können Variablennamen und Ausdrücke eingegeben werden, die Sie während einer Debugsitzung beobachten möchten.

Mit dem Dialogfeld Schnellüberwachung können Sie jeweils eine einzelne Variable oder einen einzigen Ausdruck untersuchen. Es ist nützlich, um einen schnellen Blick auf einen Wert oder eine größere Datenstruktur zu werfen. Mit dem Fenster Überwachen können Sie mehrere Variablen oder Ausdrücke speichern, die Sie im Verlauf einer Debugsitzung anzeigen möchten. Einige Visual Studio-Versionen verfügen über mehrere Fenster Überwachen, die von Überwachen 1 bis Überwachen 4 nummeriert sind.

Ein Variablenname ist der einfachste Ausdruck, den Sie eingeben können. Wenn Sie systemeigenen Code debuggen, können Sie sowohl Registernamen als auch Variablennamen verwenden. Der Debugger kann darüber hinaus noch viel komplexere Ausdrücke annehmen. Sie können beispielsweise zur Bestimmung des Durchschnittswerts dreier Variablen den folgenden Ausdruck eingeben:

(var1 + var2 + var3) / 3

In C# können Sie anstelle des Objektnamens eine Objekt-ID oder einen Alias eingeben.

Der Debugger akzeptiert im Überwachungsfenster die meisten gültigen Sprachausdrücke. Weitere Informationen finden Sie unter Ausdrücke im Debugger.

Wenn Sie in systemeigenen Code programmieren, müssen Sie in einigen Fällen den Kontext eines Variablennamens oder eines Ausdruck qualifizieren, der einen Variablennamen enthält. Mit dem Kontext sind die Funktion, die Quelldatei und das Modul gemeint, in denen eine Variable enthalten ist. Falls Sie den Kontext qualifizieren müssen, können Sie dazu die Kontextoperatorsyntax verwenden. Weitere Informationen hierzu finden Sie unter Kontextoperator (Ausdrücke der Sprache C/C++).

Ausdrücke, die den Programmzustand beeinflussen

Die Auswertung bestimmter Ausdrücke kann zur Änderung des Werts einer Variablen führen oder sich auf den Programmzustand auswirken. Die Auswertung des folgenden Ausdrucks ändert beispielsweise den Wert von var1:

var1 = var2

Datenändernde Ausdrücke haben sogenannte Nebeneffekte. Wenn Sie im Fenster Überwachen einen Ausdruck eingeben, der Nebeneffekte hat, werden diese Nebeneffekte jedes Mal bei der Auswertung des Ausdrucks mit dem Fenster Überwachen auftreten. Wenn Ihnen nicht bewusst ist, dass der Ausdruck Nebeneffekte hat, können unerwartete Ergebnisse auftreten. Ein Ausdruck mit Nebeneffekten wird nur bei der ersten Eingabe ausgewertet. Nachfolgende Auswertungen werden deaktiviert. Sie können dieses Verhalten manuell überschreiben, indem Sie neben dem Wert auf das Aktualisierungssymbol klicken.

Unerwartete Nebeneffekte sind oft das Ergebnis einer Funktionsauswertung. Sie können beispielsweise den folgenden Funktionsaufruf ins Fenster Überwachen eingeben.

Func1(var1)

Wenn Sie über das Fenster Überwachung oder über Schnellüberwachung eine Funktion aufrufen, kann diese Funktion eventuell Daten ändern und dabei einen Nebeneffekt auslösen. Die Deaktivierung der automatischen Funktionsauswertung im Dialogfeld Optionen stellt eine Möglichkeit dar, mögliche unerwartete Nebeneffekte durch Funktionsauswertungen zu vermeiden. Dadurch wird zwar die automatische Auswertung neuerer Sprachfeatures (z. B. Eigenschaften) deaktiviert, allerdings ist die Deaktivierung sicherer.

Hinweis:

Bei Ausdrücken im Fenster Überwachen kann ein Aktualisierungssymbol zu sehen sein, in dem zwei grüne Pfeile innerhalb eines grünen Kreises in entgegengesetzter Richtung zirkulieren. Dies ist insbesondere bei deaktivierter Funktionsauswertung sehr wahrscheinlich. Das Aktualisierungssymbol weist auf einen Fehler oder auf einen veralteten Wert hin. Weitere Informationen finden Sie unter Gewusst wie: Aktualisieren von Überwachungswerten.

Bei systemeigenem Code und C# können Sie mithilfe von Formatbezeichnern ein Anzeigeformat für den Ausdruckswert angeben. Weitere Informationen finden Sie unter Formatbezeichner in C++ und unter Formatbezeichner in C#.

Der Visual Studio-Debugger erweitert automatisch gängige Datentypen, um ihre wichtigsten Elemente anzuzeigen. Für benutzerdefinierte Datentypen können Sie Erweiterungen hinzufügen. Weitere Informationen finden Sie unter Anzeigen von benutzerdefinierten Datentypen und Schnellansichten.

Hinweis:

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So werten Sie im Fenster "Überwachen" einen Ausdruck aus

  1. Klicken Sie im Fenster Überwachen in der Spalte Name auf eine leere Zeile. Der Debugger muss an dieser Stelle im Unterbrechungsmodus sein. Geben Sie den zu überwachenden Variablennamen oder Ausdruck ein, oder fügen Sie ihn ein.

    – oder –

    Ziehen Sie eine Variable in das Fenster Überwachen auf eine Zeile.

  2. Drücken Sie die EINGABETASTE.

    Das Ergebnis wird in der Spalte Wert angezeigt. Wenn Sie den Namen eines Arrays oder einer Objektvariablen eingeben, wird in der Spalte Name neben dem Namen eine Strukturansicht angezeigt. Erweitern oder reduzieren Sie die Variable in der Spalte Name.

    Der Ausdruck verbleibt im Fenster Überwachen, bis Sie ihn daraus entfernen.

So werten Sie einen Ausdruck in der Schnellüberwachung aus

  1. Geben oder fügen Sie die Variable, das Register oder den Ausdruck im Dialogfeld Schnellüberwachung in das Textfeld Ausdruck ein.

  2. Klicken Sie auf Neu auswerten, oder drücken Sie die EINGABETASTE.

  3. Der Wert wird im Feld Aktueller Wert angezeigt.

  4. Wenn Sie im Feld Ausdruck den Namen eines Arrays oder einer Objektvariablen eingeben, wird im Feld Aktueller Wert neben dem Namen eine Strukturansicht angezeigt. Erweitern oder reduzieren Sie die Variable in der Spalte Name.

So führen Sie eine Neuauswertung eines vorherigen Ausdrucks in der Schnellüberwachung durch

  1. Klicken Sie im Dialogfeld Schnellüberwachung rechts neben dem Feld Ausdruck auf den Abwärtspfeil.

  2. Wählen Sie in der Dropdownliste einen der vorherigen Ausdrücke aus.

  3. Klicken Sie auf Neu auswerten.

Siehe auch

Aufgaben

Gewusst wie: Verwenden von Debuggervariablenfenstern

Weitere Ressourcen

Variablenfenster