Visual C# 2011 Grundkurs

Debugging: Grundlagen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das Auffinden von Fehlern im Programm kann ausgesprochen nervenaufreibend und zeitintensiv sein. Hier werden die Grundlagen der Debugging-Technik vermittelt.
05:34

Transkript

In diesem Film schauen wir uns einmal die Technik an, wie man in seinem Programm Fehler finden kann. Das nennt man "Debuggen". Bei Debuggen geht es darum, dass ich bei einem bestimmten Programmteil sage: "Ab hier führst du das Programm bitte nicht weiter aus, sondern wartest auf Eingaben von mir." Wenn das Programm an der Stelle angehalten ist, kann ich mir innerhalb von Variablen anzeigen lassen, dann genauer analysieren, warum mein Programm nicht so funktioniert, wie ich das erwarte. Damit ich dem Programm auch erstmal sage, wo es anhalten soll, muss ich einen sogenannten Break Point setzen. Einen Break Point kann ich hier links auf dieser Leiste platzieren. Das heißt, ich klicke in eine x-beliebige Zeile, wo das Programm bei der Ausführung unterbrochen werden soll. Mit einem Klick setze sich dort einen Break Point, das ist dieser rote Punkt hier. Dann sieht man hier auch die Zeile ist rot unterlegt. Wartet das Programm gleich bei der Ausführung in dieser Zeile. Ich führe das Programm jetzt einmal aus. Dann sieht man hier an diesem gelben Debugging Cursor, dass das Programm derzeit genau an dieser Stelle steht und auf weitere Eingaben von uns wartet. Jetzt habe ich hier oben im Debugging Menü, haben wir verschiedenen Möglichkeiten das Programm weiterlaufen zu lassen. Ich kann einen Einzelschritt machen, also einfach in die nächste Zeile springen, oder wenn ich vor Methodenaufruf bin, in die Methode zu springen. Ich kann einen Prozedurschritt machen. Das heißt, dass ich, wenn ich mich vor einer Methode befinde, dann wird die Methode im Hintergrund ausgeführt, aber mein Debugging Cursor springt direkt in die nächste Zeile, also nicht in die Methode hinein. Dann gibt es Ausführungen bis Rücksprung, das heißt, wenn ich in einer Methode bin, drücke ich Shift+F11 und dann führt er den Rest der Methode im Hintergrund aus und springt mit dem Debugging Cursor aus der Methode wieder heraus, an die ursprüngliche Aufrufstelle. Wir werden diese Techniken jetzt alle einmal sehen. Ich drücke hier in dieser Zeile einmal F11 und man wird jetzt sehen, dass dieser gelbe Debugging Cursor in die nächste Zeile springt. Beim Debugging kann ich mir den Inhalt von Variablen anzeigen lassen. Wenn ich mit der Maus drüber gehe, sehe ich, dass in meiner Integer-Variable Number derzeit ein Wert "0" ist. Ist klar, dieser Variable wurde noch nichts zugewiesen. Also die 5 dieser Zuweisungen mit dem Wert 5 wurde noch nicht durchgeführt. Indem ich F11 drücke, führe ich diese Zeile einmal aus. Wenn ich dann noch einmal mit der Maus über die Variable gehe, sehe ich, dass die 5 dann dort drin steht. Wenn ich jetzt bei einem Methodenaufruf, wie ich hier bei dem Methodenaufruf von Dummy bin, drücke F11, dann springe ich mit meinem Debugging Cursor in die Methode hinein, weil die Methode jetzt ausgeführt wird. Also tun wir das einmal, ich drücke F11 und wir landen in der Methode. Jetzt kann ich hier, genau wie in dem anderen, in der Main Methode, kann ich hier durch springen, durch die Befehle, die werden dann ausgeführt. Hier ist die Methode zu Ende und der Cursor springt an die Rückrufstelle zurück. Wenn ich das Ganze mit dem Prozedur-Schritt mache, also wenn ich hier F10 drücke, dann wird beim Drücken nicht in die Methode hineingesprungen mit meinem Debug-Cursor, sondern die Methode wird im Hintergrund ausgeführt. Ich sehe es also nicht. Und der Debugging Cursor springt dann direkt in die nächste Zeile, also nach dem Methodenaufruf. Ich drücke mal F10 und dann springt der Debugging Cursor in die nächste Zeile und die Methode Dummy wurde im Hintergrund ausgeführt. Das ist oftmals nützlich, wenn man nur an eine bestimmte Stelle springen möchte. Und davor sehr viele Methodenaufrufe sind, springt man solange mit F10 über diese ganzen Methodenaufrufe bis ich halt am Ende bin. Wenn ich F10 in der ganz normalen Zeile drücke, habe ich eigentlich dasselbe Verhalten, als wenn ich einen Einzelschritt mit F11 mache. Jetzt machen wir einmal den Rücksprung aus einer Methode, ich gehe einmal mit F11 in diese Methode hinein und jetzt bin ich in der Methode drin. Jetzt habe ich vielleicht gemerkt, an der Methode kann das gar nicht liegen, ich möchte jetzt den Rest der Methode im Hintergrund ausführen lassen und dann an der Aufrufstelle weitermachen. Dann drücke Shift+F11, dann führt er den Rest der Methode aus und bleibt jetzt hier wieder bei der Rückrufstelle stehen. Ein letztes sehr cooles Feature, möchte ich auch noch zeigen und zwar sind das die Data Tips. Wenn ich jetzt mit F11 in die nächste Zeile gehe, habe ich hier meine Variable "another number" und der weise ich die 7 zu. Und jetzt sehe ich hier meine 7 und ich habe hier rechts, habe ich so einen kleinen Pin. Diesen kann ich einmal anklicken, dann wird diese Variable hier auf meine Oberfläche platziert und die kann ich irgendwo an eine x-beliebige Stelle anordnen. Das kann ich im Prinzip mit allem machen. Das kann ich hier oben mit dieser anderen Variablen Number machen und ich kann das auch hier oben mit diesen Argumenten machen, die der Main Methode übergeben werden. So. Das relativ schöne daran ist, dass man wirklich, wenn man längere Debugging-Sitzungen hat, wenn man einen hartnäckigen Fehler sucht, werden diese Konstellationen von diesen Data Tips beim nächsten Debugging-Durchlauf wieder angezeigt. D.h. man hat eine sehr schöne Übersicht und kann sich bei Debugging-Sessions die etwas länger dauern, das ganze Leben erleichtern indem man hier rechts die wichtigsten Nummern platziert. Und hat nebenan übrigens auch noch die Möglichkeit, hier einen Kommentar dazu einzugeben, wenn man diese Data Tips später einmal an Kollegen schickt. Und das ist auch möglich, ich kann oben über Debugging kann ich diese Data Tips exportieren, kann ich z.B. an einen Kollegen schicken, der auch an dem Fehler sitzt und dann kann der eben es genau so nachvollziehen, wie ich das gemacht habe. Als Letztes wollen wir uns zu Debugging noch ein recht interessantes Feature angucken. Ich kann hier sowohl in diesen Data Tips als auch in diesen Fenstern hier, kann ich den Wert von einer Variablen einfach ändern. Wenn ich dazwischen eine Idee habe, der Fehler könnte da und da dran liegen, muss ich nicht erst wieder das Debugging abrechen, den Wert der Variable ändern und es neu ausführen lassen, sondern ich gehe einfach hin und ändere jetzt einmal die 7 in die 9 und drücke danach "Enter" und dann sieht man hier schon, hat sich der Wert hier schon geändert. Wenn ich dann mit der Maus einmal drüber gehe, dann zeigt er mir auch an, dass die 9, also der Wert, von der Variable geändert wurde. Wir haben uns in diesem Video angeguckt, wie die Grundlagen des Debugging funktionieren. Wir haben uns angeguckt, wie der Einzelschritt funktioniert, der Prozedurschritt und der Rücksprung aus einer Prozedur. Dann haben wir uns angeschaut, wie die Data Tips funktionieren, also dass ich Werte von den Variablen anpinnen kann, so dass ich das halt einfacher einsehen kann. Zusätzlich haben wir uns natürlich die normalere Variante angeguckt, wie ich mir Normalwerte anzeigen lassen kann. Und darüber hinaus, noch geschaut, dass man auch wirklich Werte in den Variablen ändern kann und das während der Laufzeit des Programms das Debugging abzubrechen.

Visual C# 2011 Grundkurs

Steigen Sie in die C#-Programmierung ein und lernen Sie sowohl die Grundlagen der Sprache C# als auch die Entwicklungsumgebung Visual Studio 2010 und .NET-Framework kennen.

7 Std. 28 min (81 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Visual Studio Visual Studio 2010
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.06.2011

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!