Übersicht: Haltepunkte

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.

Die folgenden Abschnitte enthalten einige grundlegende Informationen über Haltepunkte:

  • Haltepunktsymbole

  • Standardhaltepunkte

  • Erweiterte Haltepunkte

  • Haltepunkteinschränkungen

Haltepunktsymbole

In den Quellcodefenstern und dem Disassembly-Fenster sind Haltepunkte durch Symbole, sogenannte Glyphen, am linken Rand markiert. In der folgenden Tabelle werden diese Symbole beschrieben.

Wenn Sie die Maus auf ein Haltepunktsymbol halten, wird eine QuickInfo mit weiteren Informationen angezeigt. Diese Informationen sind besonders nützlich bei Fehler- und Warnungshaltepunkten.

Symbol

Beschreibung

Normaler Haltepunkt. Das ausgefüllte Symbol gibt an, dass der Haltepunkt aktiviert ist. Das hohle Symbol gibt an, dass er deaktiviert ist.

Erweiterter Haltepunkt. Aktiviert/Deaktiviert. Das +-Zeichen zeigt an, dass dem Haltepunkt mindestens ein erweitertes Feature beigefügt ist, z. B. eine Bedingung, ein Trefferzähler oder ein Filter.

Zugeordneter Haltepunkt. Aktiviert/Deaktiviert. Der Haltepunkt wird in ASP/ASP.NET-Code festgelegt und einem Haltepunkt in der entsprechenden HTML-Seite zugeordnet bzw. in einer serverseitigen Skriptdatei festgelegt und der entsprechenden Skriptdatei auf Clientseite zugeordnet.

Ablaufverfolgungspunkt. Aktiviert/Deaktiviert. Läuft der Debugger auf diesen Punkt, wird das Programm nicht unterbrochen, sondern eine angegebene Aktion ausgeführt.

Erweiterter Ablaufverfolgungspunkt. Aktiviert/Deaktiviert. Das +-Zeichen zeigt an, dass dem Ablaufverfolgungspunkt mindestens ein erweitertes Feature beigefügt ist, z. B. eine Bedingung, ein Trefferzähler oder ein Filter.

Zugeordneter Ablaufverfolgungspunkt. Aktiviert/Deaktiviert. Der Ablaufverfolgungspunkt wird im ASP/ASP.NET-Code festgelegt und einem Ablaufverfolgungspunkt in der entsprechenden HTML-Seite zugeordnet.

Fehler bei Haltepunkt oder Ablaufverfolgungspunkt. Das X zeigt an, dass der Haltepunkt oder der Ablaufverfolgungspunkt aufgrund eines Fehlerzustands nicht festgelegt werden konnte.

Warnung bei Haltepunkt oder Ablaufverfolgungspunkt. Das Ausrufungszeichen zeigt an, dass ein Haltepunkt oder ein Ablaufverfolgungspunkt aufgrund eines temporären Fehlerzustands nicht festgelegt werden konnte. Dies bedeutet normalerweise, dass der Code am Ort des Haltepunkts bzw. des Ablaufverfolgungspunkts nicht geladen wurde. Die Warnung kann auch beim Anfügen an einen Prozess angezeigt werden, wenn die Symbole für den Prozess nicht geladen werden. Wenn der Code oder die Symbole geladen werden, wird der Haltepunkt aktiviert, und das Symbol ändert sich.

Standardhaltepunkte

Klassische Standardhaltepunkte sind die, die auf einer Quellcodezeile oder einer Funktion festgelegt sind. In den folgenden Themen wird beschrieben, wie diese Standardhaltepunkte festgelegt und bearbeitet werden:

Gewusst wie: Festlegen eines einfachen Haltepunkts

Gewusst wie: Festlegen eines Funktionshaltepunkts

Gewusst wie: Löschen eines Haltepunkts

Gewusst wie: Aktivieren oder Deaktivieren eines Haltepunkts

Gewusst wie: Bearbeiten einer Haltepunktposition

Gewusst wie: Festlegen eines Haltepunkts für einen Funktionsaufruf im Fenster "Aufrufliste"

Hinweis:

In Quellcodedateien mit mehr als 64.000 Codezeilen werden Haltepunkte in Zeilen, deren Nummer höher als 64.000 ist, nicht erreicht.

Mehrere Haltepunkte in einer Zeile

Manchmal enthält eine Codezeile mehr als eine ausführbare Anweisung. In solchen Fällen können Sie mehrere Haltepunkte in der Zeile festlegen. Visual Studio 2008 bietet ein neues Feature: Die Codeanweisung, in der der aktuell ausgewählte Haltepunkt enthalten ist, wird von einem Rahmen umgeben. Dieser Rahmen hilft, zwischen mehreren Haltepunkten in derselben Codezeile zu unterscheiden. Sie können einen Haltepunkt im Fenster Haltepunkte auswählen, oder indem Sie im Quellfenster auf die Anweisung klicken, in der der Haltepunkt enthalten ist.

Erweiterte Haltepunkte

In Visual C++ Express Edition oder Visual Studio (alle Editionen) können speziellere Haltepunkte festgelegt werden, Haltepunkte mit erweiterten Features erstellt und effektiver bearbeitet werden.

Durch die beim Einrichten von Visual Studio ausgewählten IDE-Standardeinstellungen ist für einige Aufgaben der erforderliche Menübefehl eventuell ausgeblendet. Weitere Informationen finden Sie unter Gewusst wie: Wiederherstellen von ausgeblendeten Debuggerbefehlen.

Haltepunkte an Speicheradressen und bei Änderungen des Arbeitsspeichers

Sie können einen Haltepunkt an einer Speicheradresse festlegen. Weitere Informationen finden Sie unter Gewusst wie: Festlegen eines Adresshaltepunkts. In C/C++ können Sie einen Haltepunkt festlegen, der getroffen wird, wenn sich Arbeitsspeicherinhalte ändern. Weitere Informationen finden Sie unter Gewusst wie: Festlegen eines Datenhaltepunkts (nur systemeigen).

Filter, Trefferzähler und Bedingungen

Filter, Trefferzähler und Bedingungen sind erweiterte Features, die jedem Haltepunkttyp einschließlich Ablaufverfolgungspunkten beigefügt werden können.

  • Ein Filter bewirkt, dass ein Haltepunkt auf angegebenen Computern, Prozessen und Threads festgelegt wird. Filter sind sehr nützlich, wenn Sie eine Anwendung debuggen, die mit mehreren Prozessoren ausgeführt wird. Weitere Informationen finden Sie unter Gewusst wie: Angeben eines Haltepunktfilters.

  • Der Trefferzähler registriert, wie oft ein Haltepunkt erreicht wird. Standardmäßig wird die Ausführung jedes Mal unterbrochen, wenn ein Haltepunkt erreicht wird. Dies Verhalten kann dahingehend geändert werden, dass ein Haltepunkt nur unterbricht, wenn die Trefferanzahl einen gegebenen Wert erreicht bzw. überschreitet oder wenn die Trefferanzahl dem Vielfachen eines vorgegebenen Werts entspricht. Die angegebene Trefferanzahl wird nur für die Debugsitzung beibehalten. Weitere Informationen finden Sie unter Gewusst wie: Angeben einer Trefferanzahl.

  • Eine Bedingung ist ein Ausdruck, der ausgewertet wird, um zu bestimmen, ob der Haltepunkt unterbricht. Weitere Informationen finden Sie unter Gewusst wie: Angeben einer Haltepunktbedingung.

Schnittstelle Erweiterte Haltepunkte

Poweruser können in den folgenden Themen erweiterte Features nutzen:

Gewusst wie: Verwenden des Fenster "Haltepunkte"

Gewusst wie: Deaktivieren aller Haltepunkte

Gewusst wie: Löschen aller Haltepunkte

Haltepunkteinschränkungen

Wenn Sie Code im gemischten Modus (verwaltet und systemeigen) debuggen, sollten Sie keine Haltepunkte an Systemkomponenten festlegen. Das Festlegen von Haltepunkten für Systemkomponenten beim Debuggen im gemischten Modus kann dazu führen, dass die Ausführung der Common Language Runtime unterbrochen wird und der Debugger nicht mehr reagiert. Weitere Informationen hierzu finden Sie unter Gewusst wie: Debuggen von Anwendungen im gemischten Modus.

Der Debugger fügt sich nicht automatisch an einen XML-Webdienst an, es sei denn, Sie führen den Aufruf schrittweise aus. Das bedeutet, dass alle im XML-Webdienst festgelegten Haltepunkte nicht ausgelöst werden, es sei denn, Sie führen den Aufruf schrittweise aus. Wenn Sie versuchen, den Haltepunkt anstatt mithilfe von Einzelschritt mithilfe von Debuggen starten oder Weiter zu erreichen, wird der Haltepunkt nicht ausgelöst.

Informationen zu Einschränkungen bei zugeordneten Haltepunkten in Skriptdateien finden Sie unter Einschränkungen beim Skriptdebugging.

Siehe auch

Konzepte

Haltepunkte und Ablaufverfolgungspunkte