Untersuchen von Optionen für die Haltepunktkonfiguration
- 6 Minuten
Debugger helfen Ihnen bei der Analyse Ihres Codes und können zur Steuerung der Laufzeitausführung Ihres Programms verwendet werden. Wenn Sie den Visual Studio Code-Debugger starten, wird der Code sofort ausgeführt. Da Ihr Code in Mikro sekunden ausgeführt wird, hängt das effektive Codedebugging von der Fähigkeit ab, das Programm für jede Anweisung im Code anzuhalten. Haltepunkte werden verwendet, um anzugeben, wo die Codeausführung angehalten wird.
Festlegen von Haltepunkten
Visual Studio Code bietet mehrere Möglichkeiten, um Haltepunkte in Ihrem Code zu konfigurieren. Beispiel:
- Code-Editor: Sie können einen Breakpoint im Visual Studio-Code-Editor festlegen, indem Sie in die Spalte links neben der Zeilennummer klicken.
- Menü „Ausführen“: Sie können einen Haltepunkt über das Menü Ausführen aktivieren/deaktivieren. Die aktuelle Codezeile im Editor gibt an, wo die Aktion Haltepunkt umschalten angewendet wird.
Wenn ein Haltepunkt festgelegt ist, wird links neben der Zeilennummer im Editor ein roter Kreis angezeigt. Wenn Sie den Code im Debugger ausführen, wird die Ausführung am Haltepunkt angehalten.
Entfernen, Deaktivieren und Aktivieren von Haltepunkten
Nachdem Sie Haltepunkte in Ihrer Anwendung festgelegt und zum Isolieren eines Problems verwendet haben, sollten Sie die Haltepunkte entfernen oder deaktivieren.
Um einen Haltepunkt zu entfernen, wiederholen Sie die Aktion, die zum Festlegen eines Haltepunkts verwendet wird. Klicken Sie beispielsweise auf den roten Kreis links neben der Zeilennummer, oder verwenden Sie die Option zum Umschalten des Haltepunkts im Menü Ausführen.
Was ist, wenn Sie eine Haltepunktposition beibehalten möchten, diese aber während Ihrer nächsten Debug-Sitzung nicht ausgelöst werden soll? Mit Visual Studio Code können Sie einen Haltepunkt "deaktivieren", anstatt ihn vollständig zu entfernen. Um einen aktiven Haltepunkt zu deaktivieren, klicken Sie mit der rechten Maustaste auf den roten Punkt links neben der Zeilennummer, und wählen Sie dann im Kontextmenü "Haltepunkt deaktivieren" aus.
Wenn Sie einen Haltepunkt deaktivieren, wird der rote Punkt links neben der Zeilennummer in einen grauen Punkt geändert.
Hinweis
Das Kontextmenü, das angezeigt wird, wenn Sie mit der rechten Maustaste auf einen Haltepunkt klicken, enthält auch die Optionen zum Entfernen des Haltepunkts (Löschen) und Bearbeiten des Haltepunkts. Die Option " Haltepunkt bearbeiten" wird im Abschnitt " Bedingte Haltepunkte und Logpoints " weiter unten in dieser Einheit untersucht.
Neben der Verwaltung einzelner Haltepunkte im Editor bietet das Menü Ausführen Optionen zum Ausführen von Massenvorgängen, die für alle Haltepunkte gelten:
- Alle Haltepunkte aktivieren: Verwenden Sie diese Option, um alle deaktivierten Haltepunkte zu aktivieren.
- Alle Haltepunkte deaktivieren: Verwenden Sie diese Option, um alle Haltepunkte zu deaktivieren.
- Alle Haltepunkte entfernen: Verwenden Sie diese Option, um alle Haltepunkte zu entfernen (sowohl aktivierte als auch deaktivierte Haltepunkte werden entfernt).
Bedingte Haltepunkte
Ein bedingter Haltepunkt ist ein spezieller Haltepunkttyp, der nur ausgelöst wird, wenn eine angegebene Bedingung erfüllt ist. Sie können z. B. einen bedingten Haltepunkt erstellen, der die Ausführung anhält, wenn eine Variable numItems größer als 5 ist.
Sie haben bereits gesehen, dass durch klicken mit der rechten Maustaste auf einen Haltepunkt ein Kontextmenü geöffnet wird, das die Option " Haltepunkt bearbeiten" enthält. Wenn Sie " Haltepunkt bearbeiten" auswählen, können Sie einen Standardtrennpunkt in einen bedingten Haltepunkt ändern.
Zusätzlich zum Bearbeiten eines vorhandenen Haltepunkts können Sie auch einen bedingten Haltepunkt direkt festlegen. Wenn Sie mit der rechten Maustaste klicken (statt mit der linken Maustaste), um einen neuen Haltepunkt festzulegen, können Sie einen bedingten Haltepunkt erstellen.
Wenn Sie einen bedingten Haltepunkt erstellen, müssen Sie einen Ausdruck angeben, der die Bedingung darstellt.
Jedes Mal, wenn der Debugger auf den bedingten Haltepunkt trifft, wertet er den Ausdruck aus. Wird der Ausdruck als true ausgewertet, wird der Haltepunkt ausgelöst, und die Ausführung wird angehalten. Wenn der Ausdruck als falseausgewertet wird, wird die Ausführung fortgesetzt, als ob kein Haltepunkt vorhanden war.
Angenommen, Sie müssen Code debuggen, der sich innerhalb des Codeblocks einer for Schleife befindet. Sie haben festgestellt, dass das Problem, das Sie debuggen, nur auftritt, nachdem die Schleife mehrere Iterationen abgeschlossen hat. Sie möchten, dass der Haltepunkt ausgelöst wird, sobald die Variable zur Iterationssteuerung der Schleife (i) größer als 3 ist. Sie erstellen einen bedingten Haltepunkt und geben den Ausdruck i > 3an.
Wenn Sie Ihren Code im Debugger ausführen, überspringt er Ihren Haltepunkt bis zu der Iteration, in der i > 3 als true ausgewertet wird. Bei i = 4 wird die Ausführung am bedingten Haltepunkt angehalten.
Unterstützung für Hit Count-Haltepunkte und Logpoints
Der C#-Debugger für Visual Studio Code unterstützt auch Hit Count Haltepunkte und Logpoints.
Ein Haltepunkt für die Trefferanzahl kann verwendet werden, um anzugeben, wie oft ein Haltepunkt vorhanden sein muss, bevor die Ausführung unterbrochen wird. Sie können beim Erstellen eines neuen Haltepunkts (mit der Aktion "Bedingten Haltepunkt hinzufügen") oder beim Ändern eines vorhandenen Werts (mit der Aktion "Bedingung bearbeiten") einen Trefferzähler angeben. In beiden Fällen wird ein Inlinetextfeld mit einem Dropdownmenü geöffnet, in dem Sie den Wert für die Trefferanzahl eingeben können.
Ein Protokollpunkt ist eine Variante eines Haltepunkts, die den Debugger nicht „unterbricht“, sondern stattdessen eine Meldung in der Konsole protokolliert. Logpoints eignen sich besonders zum Einfügen der Protokollierung beim Debuggen von Produktionsumgebungen, die nicht angehalten oder beendet werden können. Ein Logpoint wird durch ein rautenförmiges Symbol anstelle eines gefüllten Kreises dargestellt. Protokollnachrichten sind einfacher Text, können jedoch Ausdrücke enthalten, die in geschweiften Klammern ausgewertet werden sollen ('{}').
Protokollpunkte können einen bedingten Ausdruck („expression“) und/oder eine Trefferanzahl („hit count“) enthalten, um besser steuern zu können, wann Protokollierungsmeldungen generiert werden. Beispielsweise können Sie eine Logpoint-Nachricht von i = {i} mit der Bedingung Trefferanzahl >4 kombinieren, um Protokollnachrichten wie folgt zu generieren:
Zusammenfassung
Nachstehend finden Sie nochmals die wichtigsten Punkte aus dieser Lerneinheit:
- Visual Studio Code ermöglicht das Festlegen von Haltepunkten im Code-Editor oder über das Menü "Ausführen ". Codezeilen mit Haltepunkt werden links neben der Zeilennummer mit einem roten Punkt markiert.
- Haltepunkte können mit denselben Optionen, mit denen sie festgelegt werden, entfernt oder deaktiviert werden. Massenvorgänge, die sich auf alle Haltepunkte auswirken, stehen im Menü Ausführen zur Verfügung.
- Bedingte Haltepunkte können verwendet werden, um die Ausführung anzuhalten, wenn eine angegebene Bedingung erfüllt ist oder wenn eine Trefferanzahl erreicht ist.
- Logpoints können verwendet werden, um Informationen am Terminal zu protokollieren, ohne die Ausführung anzuhalten oder Code einzufügen.
Überprüfen Sie Ihr Wissen
Feedback
War diese Seite hilfreich?
No
Benötigen Sie Hilfe zu diesem Thema?
Möchten Sie versuchen, Ask Learn zu verwenden, um Sie durch dieses Thema zu klären oder zu leiten?