Grundlagen des Debuggens in Visual Studio
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:
Erweitern Sie MainPage.xaml im Projektmappen-Explorer, und wählen Sie dann MainPage.xaml.cs aus.
Der C#-Code ist hier dem Fenster zugeordnet, das in Ihrer App angezeigt wird.
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:
Wählen Sie die Schaltfläche Ausführen aus, oder drücken Sie die Taste F5, um Ihr Projekt auszuführen.
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.
Hinweis
Sie können auch Debugtext in WPF- (Windows Presentation Foundation) und Windows Forms-Apps anzeigen.
Wählen Sie die Schaltfläche Beenden aus, um die App zu beenden.
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.
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:
Erläuterung: Die App verlangt einen Wert von
4
, um dieHello()
-Funktion auszuführen. Leider ist es in diesem Falla + b
nicht gleichc
. Untersuchen wir die Zeile, die diese Berechnung ausführt, mithilfe eines Haltepunkts.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.Wählen Sie die Schaltfläche Ausführen aus, oder drücken Sie F5, um Ihre App erneut zu starten.
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.
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.
Wählen Sie Schrittweise ausführen aus, und beobachten Sie den gelben Pfeil, wie er dem Steuerungsfluss folgt.
Zeigen Sie auf die Variable
c
.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.
Positionieren Sie den Mauszeiger in der Nähe der schließenden Klammern, bis ein grüner Pfeil angezeigt wird.
Dieser Breakpoint ermöglicht die Ausführung der App, bis die Zeile erreicht wird, die den Breakpoint enthält.
Wählen Sie die Schaltfläche Beenden aus, um die Ausführung Ihrer App zu beenden.
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.