Freigeben über


Lernprogramm: Debuggen von C#-Code mithilfe von Visual Studio

In diesem Artikel werden die Features des Visual Studio-Debuggers in einer schrittweisen exemplarischen Vorgehensweise vorgestellt. Wenn Sie eine höhere Übersicht über die Debugger-Funktionen wünschen, sehen Sie sich Erster Einblick in den Debuggeran. Wenn Sie Ihre App debuggen, bedeutet das in der Regel, dass Sie Ihre Anwendung mit dem angefügten Debugger ausführen. Wenn Sie diese Aufgabe ausführen, bietet der Debugger viele Möglichkeiten, um zu sehen, was Der Code während der Ausführung ausführt. Sie können Ihren Code schrittweise durchlaufen und die in Variablen gespeicherten Werte betrachten, Sie können Überwachungen auf Variablen festlegen, um zu sehen, wann sich Werte ändern, Sie können den Ausführungspfad Ihres Codes untersuchen, sehen, ob eine Verzweigung von Code ausgeführt wird usw. Wenn Sie bei dieser Übung zum ersten Mal versuchen, Code zu debuggen, möchten Sie vielleicht Debugging für absolute Anfänger lesen, bevor Sie diesen Artikel durchgehen.

Obwohl die Demo-App C# ist, gelten die meisten Features für C++, Visual Basic, F#, Python, JavaScript und andere sprachen, die von Visual Studio unterstützt werden (F# unterstützt "Edit-and-continue" nicht. F# und JavaScript unterstützen das Fenster "Automatisch" nicht). Die Screenshots befinden sich in C#.

In diesem Tutorial werden Sie:

  • Starten des Debuggers und Treffen der Breakpoints.
  • Lernen Sie Befehle, um Code im Debugger schrittweise durchzugehen.
  • Überprüfen von Variablen im Fenster für Datentipps und im Debugger-Fenster
  • Überprüfen der Aufrufliste

Voraussetzungen

Sie müssen Visual Studio 2022 und die Workload für die .NET-Desktopentwicklung installiert haben.

Sie müssen Visual Studio 2019 und die Workload Plattformübergreifende .NET Core-Entwicklung installiert haben.

Wenn Sie Visual Studio noch nicht installiert haben, wechseln Sie zur Visual Studio-Downloads Seite, um es kostenlos zu installieren.

Wenn Sie die Workload installieren müssen, aber bereits über Visual Studio verfügen, wechseln Sie zu Tools>Abrufen von Tools und Features..., wodurch das Visual Studio-Installationsprogramm geöffnet wird. Das Visual Studio-Installationsprogramm wird gestartet. Wählen Sie die Workload Plattformübergreifende .NET Core-Entwicklung aus, und klicken Sie dann auf Anpassen.

Wenn Sie Visual Studio bereits verwenden, aber die Workload .NET-Desktopentwicklung nicht installiert ist, wechseln Sie zu Extras>Tools und Features abrufen, um den Visual Studio-Installer zu starten. Wählen Sie anschließend im Visual Studio-Installer die Workload .NET Desktopentwicklung aus, und klicken Sie dann auf Ändern.

Erstellen eines Projekts

Zuerst erstellen Sie ein .NET Core-Konsolenanwendungsprojekt. Der Projekttyp enthält alle benötigten Vorlagendateien, bevor Sie sogar etwas hinzugefügt haben!

  1. Öffnen Sie Visual Studio. Wenn das Startfenster nicht geöffnet ist, wählen Sie Datei>Startfensteraus.

  2. Wählen Sie im Startfenster Neues Projekt erstellenaus.

  1. Geben Sie im Fenster Neues Projekt erstellen im Suchfeld den Begriff Konsole ein. Wählen Sie als Nächstes C#- aus der Liste "Sprache" aus, und wählen Sie dann in der Liste "Plattform" Windows aus.

    Nachdem Sie die Sprach- und Plattformfilter angewendet haben, wählen Sie die Vorlage Konsolen-App- für .NET Core aus, und wählen Sie dann Nextaus.

    Screenshot der C#-Vorlage für die Konsolen-App.

    Anmerkung

    Wenn die Vorlage Konsolen-App nicht angezeigt wird, können Sie sie aus dem Fenster Erstellen eines neuen Projekts installieren. Wählen Sie in der Meldung Sie finden nicht, wonach Sie suchen? den Link Weitere Tools und Features installieren aus. Wählen Sie dann im Visual Studio Installer die .NET Core plattformübergreifende Entwicklung Workload aus.

  2. Geben Sie anschließend im Fenster Neues Projekt konfigurieren im Feld Projektname den Namen GetStartedDebugging ein. Wählen Sie dann Weiteraus.

  3. Wählen Sie das empfohlene Zielframework (.NET 8.0 oder Long-Term Support) und dann Erstellen aus.

  1. Geben Sie im Fenster Neues Projekt erstellen im Suchfeld den Begriff Konsole ein. Wählen Sie als Nächstes C#- aus der Liste "Sprache" aus, und wählen Sie dann in der Liste "Plattform" Windows aus.

    Nachdem Sie die Sprach- und Plattformfilter angewendet haben, wählen Sie die Vorlage Konsolen-App aus, und wählen Sie dann Nextaus.

    Screenshot der Vorlage

    Anmerkung

    Wenn die Vorlage Konsolen-App- nicht angezeigt wird, können Sie sie aus dem Fenster Erstellen eines neuen Projekts installieren. Wählen Sie in der Meldung Sie finden nicht, wonach Sie suchen? den Link Weitere Tools und Features installieren aus. Wählen Sie dann im Visual Studio Installer die .NET-Desktopentwicklung Workload aus.

  2. Geben Sie im Fenster Konfigurieren des neuen ProjektsGetStartedDebugging im Feld Projektname ein. Wählen Sie dann Weiteraus.

  3. Stellen Sie im Fenster Zusätzliche Informationen sicher, dass .NET 8.0- im Dropdownmenü Framework ausgewählt ist, und wählen Sie dann Erstellenaus.

Visual Studio öffnet Ihr neues Projekt.

Erstellen der Anwendung

Ersetzen Sie in Program.csden gesamten Standardcode durch den folgenden Code:

using System;

class ArrayExample
{
   static void Main()
   {
      char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
      string name = "";
      int[] a = new int[10];
      for (int i = 0; i < letters.Length; i++)
      {
         name += letters[i];
         a[i] = i + 1;
         SendMessage(name, a[i]);
      }
      Console.ReadKey();
   }

   static void SendMessage(string name, int msg)
   {
      Console.WriteLine("Hello, " + name + "! Count to " + msg);
   }
}

Starten Sie den Debugger!

  1. Drücken Sie F5 (Debuggen > Debuggen starten), oder wählen Sie auf der Symbolleiste „Debuggen“ die Schaltfläche Debuggen starten Bild der Schaltfläche „Debuggen starten“. aus.

    F5 startet die App mit dem Debugger, der an den App-Prozess angefügt ist, aber im Moment haben wir nichts Besonderes getan, um den Code zu untersuchen. Die App lädt einfach, und Sie sehen diese Konsolenausgabe.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    In diesem Lernprogramm werfen Sie einen genaueren Blick auf diese App mithilfe des Debuggers und werfen einen Blick auf die Debuggerfeatures.

  2. Beenden Sie den Debugger, indem Sie die rote Stoppschaltfläche (Umschalttaste + F5) drücken. Bild der Schaltfläche

  3. Drücken Sie im Konsolenfenster eine Taste, um das Konsolenfenster zu schließen.

Hauptsächlich verwenden wir hier Tastenkombinationen, da es eine schnelle Möglichkeit zum Ausführen von Debuggerbefehlen ist. Entsprechende Befehle, z. B. Symbolleisten- oder Menübefehle, werden ebenfalls angegeben.

  1. Um den Debugger zu starten, wählen Sie F5aus, oder wählen Sie die Schaltfläche Debugziel- auf der Standardsymbolleiste aus, oder wählen Sie in der Menüleiste die Schaltfläche Debuggen starten oder Debuggen>Debuggen starten aus der Menüleiste aus.

    Screenshot der Schaltfläche

    F5 startet die App mit dem Debugger, der an den App-Prozess angefügt ist. Da wir nichts Spezielles getan haben, um den Code zu untersuchen, läuft die App bis zum Ende und die Konsolenausgabe erscheint.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    
  2. Um den Debugger zu beenden, wählen Sie Shift+F5aus, oder wählen Sie die Schaltfläche Debuggen stoppen auf der Symbolleiste "Debuggen" aus, oder wählen Sie Debuggen>Debuggen stoppen in der Menüleiste aus.

    Screenshot der Schaltfläche

  3. Wählen Sie im Konsolenfenster einen beliebigen Schlüssel aus, um das Konsolenfenster zu schließen.

Festlegen eines Haltepunkts und Starten des Debuggers

  1. Legen Sie in der for-Schleife der Funktion Main einen Breakpoint fest, indem Sie auf den linken Rand der folgenden Codezeile klicken:

    name += letters[i];

    Ein roter Kreis Bild eines Breakpoints. wird an der Stelle angezeigt, an der Sie den Breakpoint festlegen.

    Haltepunkte sind ein einfaches und wichtiges Feature zum zuverlässigen Debuggen. Ein Haltepunkt gibt an, wo Visual Studio den ausgeführten Code anhalten soll, damit Sie sich die Werte von Variablen oder das Verhalten des Arbeitsspeichers ansehen können oder ob ein Codezweig ausgeführt wird.

  2. Drücken Sie F5- oder die Schaltfläche Debuggen starten. Screenshot der Schaltfläche Die App wird gestartet, und der Debugger läuft bis zur Codezeile, in der Sie den Haltepunkt festlegen.

    Festlegen und Treffen eines Haltepunkts

    Der gelbe Pfeil zeigt die Anweisung, bei der der Debugger angehalten hat, wodurch auch die Ausführung der App an derselben Stelle pausiert (diese Anweisung wurde noch nicht ausgeführt).

    Wenn die App noch nicht ausgeführt wird, kann der Debugger durch Drücken der Taste F5 gestartet werden und hält am ersten Breakpoint an. Andernfalls wird durch Drücken der Taste F5 die Ausführung der App bis zum nächsten Haltepunkt fortgesetzt.

    Haltepunkte sind ein nützliches Feature, wenn Sie die Codezeile oder den Codeabschnitt kennen, den Sie im Detail untersuchen möchten. Informationen zu den verschiedenen Typen von Haltepunkten, die Sie festlegen können, wie z. B. bedingte Haltepunkte, finden Sie unter Verwenden von Haltepunkten.

  1. Legen Sie in der for-Schleife der Main-Funktion einen Haltepunkt fest, indem Sie auf den linken Rand der folgenden Codezeile klicken.

    name += letters[i];

    An der Stelle, an der Sie den Haltepunkt festlegen, wird ein roter Kreis angezeigt.

    Screenshot eines Haltepunkts in Visual Studio 2022.

    Haltepunkte sind ein wesentliches Feature für zuverlässiges Debuggen. Sie können Haltepunkte festlegen, an denen Visual Studio den ausgeführten Code anhalten soll, damit Sie sich die Werte von Variablen oder das Verhalten des Arbeitsspeichers ansehen oder wissen, ob eine Verzweigung von Code ausgeführt wird.

  2. Um mit dem Debuggen zu beginnen, wählen Sie F5aus, oder wählen Sie die Schaltfläche Debugziel- auf der Standardsymbolleiste aus, oder wählen Sie in der Menüleiste die Schaltfläche Debuggen starten aus, oder wählen Sie Debuggen>Debuggen starten aus. Die App startet, und der Debugger läuft bis zur Codezeile, bei der Sie den Breakpoint festgelegt haben.

    Screenshot: Haltepunkt im Code-Editor von Visual Studio 2022 mit angehaltener Codeausführung am Haltepunkt

    Der gelbe Pfeil zeigt auf die Anweisung, bei der der Debugger angehalten wurde. Die App-Ausführung wird an demselben Punkt angehalten, wobei die Anweisung noch nicht ausgeführt wird.

    Wenn die App nicht ausgeführt wird, können Sie mit F5 den Debugger starten. Dieser führt die App aus, bis der erste Breakpoint erreicht ist. Wenn die App an einem Haltepunkt angehalten wird, wird F5 die App weiter ausführen, bis sie den nächsten Haltepunkt erreicht.

    Haltepunkte sind ein nützliches Feature, wenn Sie die Codezeile oder den Codeabschnitt kennen, die Sie im Detail untersuchen möchten. Weitere Informationen zu den verschiedenen Typen von Haltepunkten, die Sie festlegen können, z. B. bedingte Haltepunkte, finden Sie unter Verwenden von Haltepunkten.

Hauptsächlich verwenden wir hier die Tastenkombinationen, da es eine gute Möglichkeit ist, die Ausführung Ihrer App im Debugger schnell auszuführen (entsprechende Befehle wie Menübefehle werden in Klammern angezeigt).

  1. Während die Codeausführung für die name += letters[i]-Anweisung angehalten wird, zeigen Sie mit der Maus auf die letters Variable, und sie sehen den Standardwert, den Wert des ersten Elements im Array, char[10].

    Features, mit denen Sie Variablen überprüfen können, sind eines der nützlichsten Features des Debuggers, und es gibt verschiedene Möglichkeiten, dies zu tun. Wenn Sie häufig versuchen, ein Problem zu debuggen, versuchen Sie herauszufinden, ob Variablen die Werte speichern, die sie zu einem bestimmten Zeitpunkt haben sollen.

  2. Erweitern Sie die letters Variable, um die Eigenschaften anzuzeigen, die alle Elemente enthalten, die die Variable enthält.

    Screenshot: Debugger, der bei der Anweisung „name+= letters[I]“ angehalten wurde

  3. Zeigen Sie als Nächstes auf die name Variable, und sie sehen den aktuellen Wert, eine leere Zeichenfolge.

  4. Drücken Sie F10 (oder wählen Sie zweimal Debug > Step Over) aus, um zum Aufruf der SendMessage Methode zu wechseln, und drücken Sie dann F10 erneut.

    F10 führt den Debugger zur nächsten Anweisung, ohne in Funktionen oder Methoden im App-Code einzutreten (der Code wird weiterhin ausgeführt). Durch Drücken von F10 beim Aufruf der SendMessage-Methode haben wir den Implementierungscode von SendMessage übersprungen, an dem wir vielleicht momentan nicht interessiert sind.

  5. Drücken Sie mehrmals auf F10 (oder Debuggen>Prozedurschritt), um mehrmals die for-Schleife zu durchlaufen. Dabei pausiert der Debugger jedes Mal am Breakpoint, sodass Sie auf die name-Variable zeigen und ihren Wert überprüfen können.

    Ein animierter Screenshot des Visual Studio-Debuggers, der den Effekt des Drückens der Tastenkombination F10 für einen „Prozedurschritt“ und das Iterieren durch eine Schleife während des Debuggens zeigt.

    Der Wert der Variablen ändert sich bei jeder Iteration der for-Schleife und zeigt die Werte f, dann fr, dann freund so weiter. Um den Debugger in diesem Szenario schneller durch die Schleife zu durchlaufen, können Sie F5- drücken (oder stattdessen Debug>Continue) auswählen, wodurch Sie anstelle der nächsten Anweisung zum Haltepunkt gelangen.

    Wenn Sie debuggen, möchten Sie eine schnelle Möglichkeit, die Eigenschaftswerte von Variablen zu überprüfen, um festzustellen, ob sie die erwarteten Werte speichern. Dabei sind die Datentipps eine gute Hilfe.

  6. Drücken Sie F11, oder wählen Sie Debuggen > Einzelschritt aus, während die Codeausführung noch in der for-Schleife der Main-Methode pausiert ist, bis Sie beim SendMessage-Methodenaufruf angelangt sind.

    Sie sollten sich in der folgenden Codezeile befinden:

    SendMessage(name, a[i]);

  7. Drücken Sie F11 ein weiteres Mal, um in die SendMessage-Methode zu gelangen.

    Der gelbe Zeiger wechselt zur SendMessage Methode.

    Screenshot: Ausführungszeiger bei der SendMessage-Methode

    Durch Drücken der Taste F11 wird der Befehl Einzelschritt ausgeführt, und die App wird Anweisung für Anweisung ausgeführt. F11 ist eine gute Möglichkeit, den Ausführungsfluss im Detail zu untersuchen. Standardmäßig überspringt der Debugger Nichtbenutzercode (wenn Sie weitere Details wünschen, lesen Sie Just My Code).

    Angenommen, Sie sind damit fertig, die SendMessage-Methode zu untersuchen, und Sie möchten die Methode verlassen, aber im Debugger verbleiben. Dies ist mit dem Befehl Ausführen bis Rücksprung möglich.

  8. Drücken Sie UMSCHALT + F11 (oder klicken Sie auf Debuggen > Ausführen bis Rücksprung).

    Mit diesem Befehl wird die Ausführung der App so lange fortgesetzt (und der Debugger weiter ausgeführt), bis die aktuelle Methode oder Funktion wieder ausgeführt wird.

    Der Debugger befindet sich nun wieder in der for-Schleife der Main-Methode und wurde beim Methodenaufruf von SendMessage angehalten. Weitere Informationen zu verschiedenen Möglichkeiten zum Navigieren im Code finden Sie unter Navigieren von Code im Debugger.

  1. Während die Codeausführung bei der Anweisung name += letters[i] angehalten ist, zeigen Sie auf die Variable letters, um einen Datentipp mit der Arraygröße und dem Elementtyp (char[10]) anzuzeigen.

    Anmerkung

    Eines der nützlichsten Features des Debuggers ist die Fähigkeit, eine Variable zu untersuchen. Wenn Sie häufig versuchen, ein Problem zu debuggen, versuchen Sie, herauszufinden, ob Variablen werte haben, die Sie zu einem bestimmten Zeitpunkt erwarten. Das Anzeigen von Datentipps ist eine gute Möglichkeit, dies zu überprüfen.

  2. Erweitern Sie die letters Variable, um alle Arrayelemente und deren Werte anzuzeigen.

    Screenshot eines Debuggerdatentipps in Visual Studio 2022, der die Elementwerte für die Arrayvariable

  3. Zeigen Sie mit der Maus auf die name Variable, um den aktuellen Wert anzuzeigen, bei dem es sich um eine leere Zeichenfolge handelt.

  4. Um den Debugger zur nächsten Anweisung zu wechseln, wählen Sie F10aus, oder wählen Sie die Schaltfläche Schritt über in der Symbolleiste "Debuggen" aus, oder wählen Sie auf der Menüleiste "Debuggen>Schritt über" aus. Wählen Sie F10 zweimal mehr aus, um über den SendMessage Methodenaufruf hinaus zu wechseln.

    F10 führt den Debugger weiter, ohne in Funktion oder Methoden zu treten, obwohl ihr Code weiterhin ausgeführt wird. Auf diese Weise haben wir das Debuggen des Codes in der SendMessage-Methode übersprungen, an dem wir derzeit nicht interessiert sind.

  5. Wenn Sie die for Schleife ein paar Mal durchlaufen möchten, wählen Sie F10 wiederholt aus. Halten Sie während jeder Schleifeniteration am Haltepunkt an, und bewegen Sie dann den Mauszeiger auf die Variable name, um ihren Wert im Datentipp zu überprüfen.

    Screenshot eines Debuggerdatentipps in Visual Studio 2022, der den Zeichenfolgenwert für die Variable

    Der Wert der Variablen ändert sich bei jeder Iteration der for Schleife und zeigt die Werte f, dann fr, dann freusw. an. Damit der Debugger die Schleife schneller durchläuft, drücken Sie stattdessen F5. Dadurch wird der Debugger bis zum nächsten Haltepunkt und nicht nur bis zur nächsten Anweisung ausgeführt.

  6. Während die Codeausführung in der for-Schleife der Main-Methode angehalten wird, wählen Sie F11-, oder wählen Sie die Schaltfläche "Schritt in" auf der Debug-Symbolleiste, oder wählen Sie Debug>"Schritt in" aus der Menüleiste, bis Sie den SendMessage-Methodenaufruf erreicht haben.

    Der Debugger sollte an dieser Codezeile angehalten werden:

    SendMessage(name, a[i]);

  7. Wenn Sie mit der SendMessage-Methode fortfahren möchten, wählen Sie F11 erneut aus.

    Der gelbe Zeiger wechselt zur SendMessage Methode.

    Screenshot mit dem Ausführungszeiger des Debuggers in der Methode

    F11- hilft Ihnen, den Ausführungsfluss Ihres Codes genauer zu untersuchen. Um in eine Methode aus einem Methodenaufruf einzutreten, wählen Sie F11. Standardmäßig überspringt der Debugger die schrittweise Ausführung von Nichtbenutzermethoden. Informationen zum Debuggen von Nichtbenutzercode finden Sie unter Just My Code.

    Nachdem Sie das Debuggen der SendMessage-Methode abgeschlossen haben, können Sie zur for Schleife der main-Methode zurückkehren.

  8. Um die SendMessage-Methode zu verlassen, wählen Sie Shift+F11aus, oder wählen Sie die Schaltfläche Schritt zurück in der Symbolleiste "Debug" aus, oder wählen Sie Debug>Schritt zurück in der Menüleiste aus.

    Durch Ausführen bis Rücksprung wird die App-Ausführung fortgesetzt und der Debugger vorgerückt, bis die aktuelle Methode oder Funktion abgeschlossen ist.

    Der gelbe Pfeil wird wieder in der for-Schleife der Methode Main angezeigt, und der Vorgang wird beim Methodenaufruf SendMessage angehalten. Weitere Informationen zu verschiedenen Möglichkeiten zum Navigieren im Code finden Sie unter Navigieren von Code im Debugger.

  1. Drücken Sie F5, um wieder zum Haltepunkt vorzurücken.

  2. Scrollen Sie im Code-Editor nach unten, und zeigen Sie mit dem Cursor so lange auf die Console.WriteLine-Methode in der SendMessage-Methode, bis die grüne Schaltfläche Ausführung bis Klick (Bild der Schaltfläche „Ausführung bis Klick“.) angezeigt wird. Die QuickInfo für die Schaltfläche zeigt „Ausführung bis hier“ an.

    Screenshot: Schaltfläche „Ausführung bis Klick“

    Anmerkung

    Die Schaltfläche Run to Click ist neu in Visual Studio 2017. (Wenn die grüne Pfeilschaltfläche nicht angezeigt wird, verwenden Sie in diesem Beispiel F11-, um den Debugger an die richtige Stelle zu verschieben.)

  3. Wählen Sie die Schaltfläche Ausführung bis Klick aus. Bild der Schaltfläche „Ausführung bis Klick“.

    Der Debugger wechselt zur Console.WriteLine-Methode.

    Die Verwendung dieser Schaltfläche ähnelt dem Festlegen eines temporären Haltepunkts. Run to Click ist praktisch, um schnell innerhalb eines sichtbaren Bereichs des App-Codes zu arbeiten (Sie können in jeder geöffneten Datei auswählen).

  1. Wählen Sie F5 aus, um erneut zum Haltepunkt vorzurücken.

  2. Zeigen Sie im Code-Editor mit dem Cursor auf den Methodenaufruf Console.WriteLine in der Methode SendMessage, bis die Schaltfläche Ausführung bis Klick angezeigt wird. Die QuickInfo für die Schaltfläche zeigt „Ausführung bis hier“ an.

    Screenshot: Schaltfläche „Ausführung bis Klick“ in Visual Studio 2022

  3. Wählen Sie die Schaltfläche Ausführung bis Klick aus. Alternativ können Sie mit dem Cursor an der Console.WriteLine-Anweisung STRG+F10auswählen. Als weitere Alternative klicken Sie mit der rechten Maustaste auf den Methodenaufruf Console.WriteLine, und wählen Sie im Kontextmenü Ausführen bis Cursor aus.

    Der Debugger wechselt zum Console.WriteLine Methodenaufruf.

    Die Verwendung der Schaltfläche Run to Click ähnelt dem Festlegen eines temporären Haltepunkts und ist praktisch, um schnell innerhalb eines sichtbaren Bereichs Ihres App-Codes in der aktuell geöffneten Datei zu navigieren.

Schnelles Neustarten der App

Wählen Sie auf der Symbolleiste „Debuggen“ die Schaltfläche Neu starten Bild der Schaltfläche „App neu starten“. aus (STRG + UMSCHALT + F5).

Wenn Sie Neustartendrücken, spart es Zeit, anstatt die App zu beenden und den Debugger neu zu starten. Der Debugger hält an dem ersten Haltepunkt an, der beim Ausführen des Codes erreicht wird.

Der Debugger hält wieder an dem Haltepunkt an, den Sie zuvor in der for-Schleife festgelegt haben.

Wenn Sie Ihre App von Anfang an im Debugger erneut ausführen möchten, wählen Sie STRG+UMSCHALT+F5aus, oder wählen Sie die Schaltfläche Neu starten auf der Symbolleiste "Debuggen" aus, oder wählen Sie Debuggen>Neustarten in der Menüleiste aus.

Screenshot der Schaltfläche

Neustarten stoppt den Debugger und startet ihn dann in einem Schritt neu. Wenn der Debugger neu gestartet wird, läuft er bis zum ersten Haltepunkt, bei dem es sich um den Haltepunkt handelt, den Sie zuvor in der for-Schleife festgelegt haben, und hält dann an.

Überprüfen von Variablen mit den Fenstern "Autos" und "Locals"

  1. Sehen Sie sich das Autos-Fenster am unteren Rand des Code-Editors an.

    Falls dieses geschlossen ist, öffnen Sie es, solange der Debugger angehalten ist. Wählen Sie hierzu Debuggen>Fenster>Auto aus.

    Im Fenster Auto werden Ihnen Variablen und der zugehörige aktuelle Wert angezeigt. Im Fenster Autos werden alle Variablen angezeigt, die in der aktuellen oder in der vorherigen Zeile verwendet werden (Bitte die Dokumentation für sprachspezifisches Verhalten überprüfen).

  2. Sehen Sie sich als Nächstes das Fenster Locals in einer Registerkarte neben dem Fenster Autos an.

  3. Erweitern Sie die letters Variable, um die darin enthaltenen Elemente anzuzeigen.

    Screenshot des Fensters

    Im Fenster Lokal werden Ihnen die Variablen angezeigt, die sich im aktuellen Bereich befinden, also im aktuellen Ausführungskontext.

Die Autos und Locals Fenster zeigen Variablenwerte an, während Sie debuggen. Die Fenster sind nur während einer Debugsitzung verfügbar. Im Autos-Fenster werden die Variablen angezeigt, die in der aktuellen Zeile verwendet werden, an der sich der Debugger befindet, sowie in der vorhergehenden Zeile. Im fenster "Locals" werden Variablen angezeigt, die im lokalen Bereich definiert sind. Dies ist in der Regel die aktuelle Funktion oder Methode.

  1. Sehen Sie sich das Fenster Auto unten im Code-Editor an, während der Debugger angehalten ist.

    Wenn das Fenster Auto geschlossen ist, drücken Sie STRG+D, A, oder wählen Sie in der Menüleiste Debuggen>Fenster>Auto aus.

  2. Solange der Debugger angehalten ist, zeigen Sie das Fenster Lokal auf einer Registerkarte neben dem Fenster Auto an.

    Wenn das Locals Fenster geschlossen ist, wählen Sie STRG+D, L, oder wählen Sie Debug>Windows>Locals.

  3. Erweitern Sie im Fenster Locals die letters-Variable, um die Arrayelemente und deren Werte anzuzeigen.

    Screenshot des Fensters

Weitere Informationen zu den Fenstern Auto und Lokal finden Sie unter Untersuchen von Variablen über die Fenster „Auto“ und „Lokal“.

Eine Uhr stellen

Klicken Sie im Hauptfenster des Code-Editors mit der rechten Maustaste auf die name-Variable, und wählen Sie Überwachung hinzufügen aus.

Das Fenster Watch öffnet sich unten im Code-Editor. Sie können über das Fenster Überwachung eine Variable (oder einen Ausdruck) angeben, die Sie im Auge behalten möchten.

Jetzt haben Sie eine Überwachung für die name Variable festgelegt, und Sie können sehen, wie sich der Wert ändert, während Sie den Debugger durchlaufen. Im Gegensatz zu den anderen Variablenfenstern werden im Fenster Überwachung immer die Variablen angezeigt, die von Ihnen überwacht werden (wenn sie außerhalb des gültigen Bereichs liegen, sind sie ausgegraut).

Sie können eine Variable oder einen Ausdruck angeben, die Sie beim Durchlaufen von Code im Auge behalten möchten, indem Sie sie dem Fenster Watch hinzufügen.

  1. Während der Debugger angehalten ist, klicken Sie mit der rechten Maustaste auf die Variable name, und wählen Sie Überwachung hinzufügen aus.

    Das Fenster Überwachen wird im unteren Bereich des Code-Editors geöffnet.

  2. Nachdem Sie eine Überwachung für die Variable name festgelegt haben, können Sie den Code schrittweise ausführen, um zu beobachten, wie sich der Wert der Variablen name bei jeder Iteration der for-Schleife ändert.

    Im Gegensatz zu den anderen Variablenfenstern zeigt das Überwachungsfenster immer die Variablen an, die Sie beobachten. Variablen, die außerhalb des Gültigkeitsbereichs liegen, werden als nicht verfügbar angezeigt.

Weitere Informationen zum Fenster Überwachen finden Sie unter Überwachen von Variablen mit Überwachungsfenstern.

Überprüfen der Aufrufliste

  1. Während die Codeausführung in der for Schleife angehalten wird, wählen Sie das Call Stack-Fenster aus, das standardmäßig im unteren rechten Bereich geöffnet ist.

    Wenn es geschlossen ist, öffnen Sie es, während es im Debugger angehalten ist, indem Sie Debug>Windows>Call Stackauswählen.

  2. Drücken Sie einige Male die Taste F11, bis der Debugger bei der Methode SendMessage anhält. Schauen Sie sich das Fenster Aufrufliste an.

    Screenshot des Fensters

    Im Fenster Aufrufstapel wird die Reihenfolge angezeigt, in der Methoden und Funktionen aufgerufen werden. Die oberste Zeile zeigt die aktuelle Funktion (die SendMessage Methode in dieser App). Die zweite Zeile zeigt, dass SendMessage aus der Main-Methode aufgerufen wurde usw.

    Anmerkung

    Das Aufrufstapel-Fenster ähnelt der Debug-Perspektive in einigen IDEs, wie Eclipse.

    Der Aufrufstapel ist eine gute Möglichkeit, den Ausführungsfluss einer App zu untersuchen und zu verstehen.

    Sie können auf eine Codezeile doppelklicken, um den Quellcode anzuzeigen, der auch den aktuellen Bereich ändert, der vom Debugger überprüft wird. Diese Aktion führt den Debugger nicht weiter.

    Sie können auch über die Kontextmenüs im Fenster Aufrufliste weitere Aktionen ausführen. So können Sie beispielsweise Haltepunkte in bestimmte Funktionen einfügen, den Debugger über Ausführen bis Cursor weiter ausführen und Quellcode untersuchen. Weitere Informationen finden Sie unter Wie Sie den Call Stack untersuchen können.

Der Aufrufstapel- kann Ihnen helfen, den Ausführungsfluss Ihrer App zu verstehen, indem sie die Reihenfolge anzeigt, in der Methoden und Funktionen aufgerufen werden.

  1. Während der Debugger in der for-Schleife angehalten ist, sehen Sie sich das Fenster Aufrufliste an, das standardmäßig im unteren rechten Bereich des Code-Editors geöffnet wird.

    Wenn das Fenster Aufrufliste geschlossen ist, drücken Sie STRG+D, C, oder wählen Sie in der Menüleiste Debuggen>Fenster>Aufrufliste aus.

    Im Fenster Aufrufliste befindet sich der gelbe Zeiger auf der aktuellen Methode Main.

  2. Drücken Sie einige Male die Taste F11, bis der Debugger bei der Methode SendMessage anhält.

    Die oberste Zeile des Aufrufstapel- Fensters zeigt die aktuelle Funktion an, bei der es sich um die SendMessage-Methode handelt. Die zweite Zeile zeigt, dass die SendMessage-Methode aus der Main-Methode aufgerufen wurde.

    Screenshot des Fensters

    Anmerkung

    Das fenster Call Stack ähnelt der Debugperspektive in einigen IDEs, z. B. Eclipse.

    Im Fenster Aufrufstapel können Sie auf eine Codezeile doppelklicken, um zu diesem Quellcode zu wechseln, wodurch der aktuelle Bereich, der vom Debugger überprüft wird, geändert wird. Diese Aktion bringt den Debugger nicht voran.

    Sie können auch über die Kontextmenüs im Fenster Aufrufliste weitere Aktionen ausführen. Beispielsweise können Sie Haltepunkte in bestimmte Funktionen einfügen, den Debugger über Ausführen bis Cursor vorrücken oder in den Quellcode wechseln.

Weitere Informationen zur Aufrufliste finden Sie unter Untersuchen der Aufrufliste.

Nächste Schritte

In diesem Lernprogramm haben Sie gelernt, wie Sie den Debugger starten, Code durchlaufen und Variablen überprüfen. Möglicherweise möchten Sie einen allgemeinen Einblick in die Debuggerfeatures sowie Links zu weiteren Informationen erhalten.