Grundlagen des Debuggens in Visual Studio

Abgeschlossen

Grundlagen zum Debuggen

Es ist schwierig, fehlerfreien Code zu schreiben. Verwenden Sie Visual Studio, um die Fehler in Ihrem Projekt zu finden.

Einfaches Debuggen

Fügen Sie Ihrem Projekt print-Anweisungen hinzu, um zu sehen, wie Ihr Code ausgeführt wird. Code, der nicht effektiv ausgeführt wird, kann Fehler verursachen. Verwenden Sie diese Methode zum einfachen Debuggen in kleineren Projekten. Diese Methode wird nicht für andere Projekte als einfache Projekte empfohlen.

Fügen Sie Ihrem UWP-Projekt (Universelle Windows-Plattform) print-Anweisungen hinzu:

  1. Erweitern Sie MainPage.xaml im Projektmappen-Explorer, und wählen Sie dann MainPage.xaml.cs aus.

    Screenshot of the Visual Studio solution explorer. The MainPage.xaml.cs file is highlighted.

    Der C#-Code ist hier dem Fenster zugeordnet, das in Ihrer App angezeigt wird.

  2. Scrollen Sie im Editor-Fenster nach unten, bis Sie den folgenden Code gefunden haben:

    public MainPage()
    {
      this.InitializeComponent();
    }
    

    Ändern Sie ihn in den folgenden Code:

    public MainPage()
    {
      this.InitializeComponent();
      Hello();
    }
    
    public void Hello()
    {
      System.Diagnostics.Debug.WriteLine("Hello!");
    }
    

    Ihr Editor-Fenster sollte wie folgt aussehen:

    Screenshot of the editor window in Visual Studio. Sample code from the previous WriteLine steps is shown.

  3. Wählen Sie die Schaltfläche Ausführen aus, oder drücken Sie die Taste F5, um Ihr Projekt auszuführen.

    Screenshot showing the Visual Studio menu bar. The run button, represented by a green triangle, is highlighted.

  4. Minimieren Sie das App-Fenster, um Visual Studio wieder im Vordergrund anzuzeigen. Wählen Sie Ausgabe aus, um die von Ihrer App erstellte Meldung Hello! anzuzeigen.

    Screenshot showing the Visual Studio output window with the Hello! message shown.

    Hinweis

    Sie können auch Debugtext in WPF- (Windows Presentation Foundation) und Windows Forms-Apps anzeigen.

  5. Wählen Sie die Schaltfläche Beenden aus, um die App zu beenden.

    Screenshot showing the Visual Studio menu bar. The stop button, represented by a red square, is highlighted.

Besseres Debuggen

Verwenden Sie Breakpoints, um eine App an bestimmten Punkten zu beenden, um herauszufinden, was mit ihr passiert. Sehen wir uns einmal an, wie das funktioniert.

  1. Aktualisieren Sie Ihre Hello()-Funktion so, dass sie diesem Code entspricht:

    public void Hello()
    {
      int a = 1;
      int b = 2;
      int c = a + b;
    
      if (c == 4)
      {
          // Success
      }
      else
      {
          // Fail
      }
    }
    

    Ihr Editor-Fenster sollte wie folgt aussehen:

    Screenshot of the editor window in Visual Studio. Sample code from the above breakpoint steps is shown.

    Erläuterung: Die App verlangt einen Wert von 4, um die Hello()-Funktion auszuführen. Leider ist es in diesem Fall a + b nicht gleich c. Untersuchen wir die Zeile, die diese Berechnung ausführt, mithilfe eines Haltepunkts.

  2. Klicken Sie in den grauen Rand neben der Zeile mit dem Code int c = a + b;. Ein roter Punkt wird angezeigt. Dieser Punkt ist Ihr Breakpoint.

    Screenshot of the Visual Studio editor window. A breakpoint (red circle) has been placed in the margin.

  3. Wählen Sie die Schaltfläche Ausführen aus, oder drücken Sie F5, um Ihre App erneut zu starten.

    Screenshot showing the Visual Studio menu bar. The run button, represented by a green triangle, is highlighted.

    Die Ausführung der App wird sofort beendet. Ein kleiner gelber Pfeil wird innerhalb des Rands angezeigt, neben der Zeile, die den Fehler enthält. Die hervorgehobene Codezeile wird als Nächstes ausgeführt.

    Screenshot of the Visual Studio editor window. A yellow arrow is displayed within the breakpoint in the margin.

    Solange Ihr Programm angehalten ist, können Sie es zeilenweise durchlaufen, indem Sie die Schaltflächen Schrittweise ausführen, Prozedurschritt und Rücksprung auf der Symbolleiste verwenden.

    Screenshot of the Visual Studio menu bar. The step into, step over, and step out options are highlighted.

  4. Wählen Sie Schrittweise ausführen aus, und beobachten Sie den gelben Pfeil, wie er dem Steuerungsfluss folgt.

    Screenshot of the Visual Studio menu bar. The step into option is highlighted.

  5. Zeigen Sie auf die Variable c.

    Screenshot of the Visual Studio editor window. A pop-up displays where the mouse was hovering. It indicates c has a value of three.

    Ein Fenster wird geöffnet, um den aktuellen Wert der Variable anzuzeigen. Wie wir wissen, ist der Wert 3 und nicht 4, wie von unserer Funktion erwartet.

  6. Positionieren Sie den Mauszeiger in der Nähe der schließenden Klammern, bis ein grüner Pfeil angezeigt wird.

    Screenshot of the Visual Studio editor window. A green arrow is displayed where the mouse was hovering.

    Dieser Breakpoint ermöglicht die Ausführung der App, bis die Zeile erreicht wird, die den Breakpoint enthält.

  7. Wählen Sie die Schaltfläche Beenden aus, um die Ausführung Ihrer App zu beenden.

    Screenshot showing the Visual Studio menu bar. The stop button, represented red square, is highlighted.

Die Philosophie des Debuggens

Eine kurze Anmerkung zum Debuggen. Das Wissen um die Ihnen zur Verfügung stehenden Tools ist schon die halbe Miete. Um zu verstehen, warum etwas nicht funktioniert, benötigen Sie Erfahrung, Geduld und Glück. Verwenden Sie die folgenden Tipps zum Debuggen von Code:

  • Machen Sie sich klar, dass Ihr Code genau das erledigt, was Sie von ihm verlangt haben. Sie haben ihn nur aufgefordert, das Falsche zu tun.
  • Erklären Sie Ihren Code Zeile für Zeile einem Freund oder sogar sich selbst. Es kann hilfreich sein, Dinge laut auszusprechen.
  • Unterteilen Sie Ihren Code in immer kleinere Abschnitte – eine Form des Refactoring –, und vergewissern Sie sich, dass jeder Abschnitt funktioniert.
  • Manchmal hilft eine Pause dabei, den Kopf frei zu bekommen.