Verwenden von Haltepunkten und Ablaufverfolgungspunkten
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium und Ultimate |
Dieses Thema enthält grundlegende Informationen zu Haltepunkten:
Haltepunktsymbole
Standardhaltepunkte
Mehrere Haltepunkte in einer Zeile
Erweiterte Haltepunkte
Haltepunkteinschränkungen
Haltepunktsymbole
In den Quellcodefenstern und im Fenster Disassembly sind Haltepunkte durch Symbole, so genannte 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 Pluszeichen (+) zeigt an, dass dem Haltepunkt mindestens eine erweiterte Funktion 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 Pluszeichen (+) zeigt an, dass dem Ablaufverfolgungspunkt mindestens eine erweiterte Funktion 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 betreffenden 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 von Haltepunkten
Gewusst wie: Aktivieren oder Deaktivieren von Haltepunkten
Gewusst wie: Bearbeiten einer Haltepunktposition
Gewusst wie: Festlegen eines Haltepunkts für einen Funktionsaufruf im Fenster "Aufrufliste"
Tipp
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. 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 Quellcodefenster auf die Anweisung klicken, in der der Haltepunkt enthalten ist.
Erweiterte Haltepunkte
In Visual C++ Express oder Visual Studio (jede Edition) können speziellere Haltepunkte festgelegt werden sowie Haltepunkte mit erweiterten Funktionen 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 Funktionen, 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 bestimmten 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 erweiterte Funktionen nutzen, die in den folgenden Themen beschrieben sind:
Gewusst wie: Verwenden des Fenster "Haltepunkte"
Gewusst wie: Löschen von Haltepunkten
Gewusst wie: Aktivieren oder Deaktivieren von Haltepunkten
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.
Weitere Informationen zu Einschränkungen bei zugeordneten Haltepunkten in Skriptdateien finden Sie unter Limitations on Script Debugging.