Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Visual Studio 2013 Grundkurs

Daten auswerten

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Der Debugger von Visual Studio 2013 verfügt über zahlreiche unterschiedliche Fenster für die Auswertung sämtlicher gesammelten Daten.
05:18

Transkript

Mit dem Debugger in Visual Studio möchte ich als Entwickler in aller erster Linie Fehler finden und die fixen. Damit ich Fehler finden kann,muss ich aber ständig beim Debuggen Daten auswerten. Und wie man das effektiv machen kann, schauen wir uns jetzt mal die verschiedenen Möglichkeiten dazu an. Ich habe hier in meiner Anwendung schonmal ein Breakpoint gesetzt und führe die Anwendung einmal aus und dann landet Sie auch genau in dieser Zeile. Wir schauen uns jetzt mal die verschiedenen Fenster an erstmal, die uns die Möglichkeit geben diese Variablen auszuwerten. Wir haben zunächst einmal das Auto Window. Das Auto Window zeigt uns zum einen alle möglichen Variablen an, die ich aktuell in der Methode zugreifen kann, in diesem Fall ist es: z1, z2 und this und dann ein paar mehr oder weniger intelligentere Ausdrücke, wie zum Beispiel hier mache ich einen Cast von z2 in int. Da das nicht ganz offensichtlich ist, was dort nach einem Cast zurückkommt, wird mir das hier im Auto Window einmal übersichtlich dargestellt. Die andere Information, die man im Auto Window auch ganz gut finden kann, ist wenn ich jetzt hier wieder mit F11 aus dieser Methode heraussteppe, an dieser Stelle sehe ich im Auto Window hier, bevor ich jetzt hier mit F11 weitersteppe, welcher Wert aus dieser Methode DoBar zurückgekommen ist. Hier ist es jetzt gerade offensichtlich, weil ich es danach in Result reinschreibe. Wenn ich jetzt mehrere zusammengekettete Aufrufe von DoBar habe, diese quasi immer wieder ein DoBar Aufruf der Parameter für den nächsten ist, dann ist es extrem Hilfreich zu sehen, was in diesen verschachtelten Aufrufen jeweils zurückgekommen ist. Okay, ich starte den Debugger nochmal neu, dass wir wieder zu unserem Breakpoint kommen und dann schauen wir uns mal das Lokal Window an. Das Lokal Window ist so ähnlich wie das Auto Window nur ohne intelligente Funktionalität, wenn man so will. Wir haben hier die Variablen, die momentan in diesem Scope tatsächlich gültig sind, das ist in diesem Fall "z1,z2" und natürlich auch immer der this-Pointer, das heißt, ich kann hier das aktuelle Objekt in dem ich mich gerade befinde untersuchen. Die Anzahl der Variablen, die hier auftauchen, da habe ich keinen Einfluss drauf, das heißt, wenn ich jetzt eine Methode hätte mit tausenden von Variablen, weil das ein super komplizierter Algorithmus ist, werden natürlich auch dementsprechend hier das Lokal Window zugemüllt. Deswegen kann ich hier in dem Überwachungsfenster selber Variablen hinzufügen für die entsprechende Überwachung. Ich mache mal ein Rechtsklick hier drauf und sage hier okay, "Überwachung hinzufügen". Dann landet diese Variable z1 und nur diese Variable z1 hier in dem Überwachungsfenster. Und wenn ich das Ganze nochmal auf z2 machen, dann landet das ebenfalls darauf. Und wenn ich jetzt sage, okay, ich möchte den ganzen Ausdruck hier überwachen, dann landet dieser komplette Ausdruck, also (int) z2 dort. Das heißt, hier kann ich mir mehr oder weniger solche Listen anlegen und von diesen Fenstern gibt es nicht nur ein Fenster, also ein Ausgabefenster, sondern es gibt zwei verschiedene Ausgabefenster, das heißt, wenn wir jetzt hier auf "Fenster" gehen, im Debug Modus sieht man hier ist noch eine ganze Menge mehr, als wenn ich nicht gerade im Debuggen bin und dann nehmen wir uns hier einfach mal an der Stelle ein ansprechendes Überwachungsfenster hier und man sieht, ich habe nicht nur die Möglichkeit ein Überwachungsfenster anzublenden, sondern ich kann insgesamt vier Überwachungsfenster einblenden und die Variablen je nachdem welches ich gerade habe zwischen diesen einzelnen Fenstern auch austauschen. Okay, das wie gesagt, das Überwachungsfenster, Lokal Window und Auto Window. Eine nette Variante um Variablen auszuwerten ist hier das Direktfenster. Im Direktfenster kann ich zum Beispiel einfach sagen, ich möchte mal jetzt den Wert hier von meiner Variable z1 wissen. Dann gibt er mir das Ganze auch oder von z2, dann gibt er das auch aus. Oder ich kann hier auch Berechnungen durchführen und ganze C# Kommandos eingeben und dort kurzzeitig Berechnungen machen, um zu gucken, ob vielleicht der eine oder andere Fix, den ich gerade im Kopf habe tatsächlich Wirkung zeigen würde. Okay, das sind so die Hauptbereiche an denen ich mir Informationen über meine Daten besorgen kann. Was ich natürlich auch noch machen kann ist hier der Hover-Effekten, der klassische, also hier quasi meine Variablenwerte direkt anzeigen. So jetzt ist es natürlich schön, dass ich Variablenwerte sehen kann, aber ab und zu möchte ich vielleicht auch mal in diesen ganzen Prozess eingreifen, wie eben schon gesagt den Wert von einer Variablen zum Beispiel ändern, wenn ich der Meinung bin, dass ein anderer Wert an der Stelle jetzt den Fehler nicht auslösen würde. Und wir machen das jetzt aus einem speziellen Grund. Ich trage jetzt hier mal den Wert 6 ein, schauen Sie bitte mal unten im Auto Window auf die Variable z1, ich drück jetzt genau Enter und Sie sehen hinten die Variable 6 ist rot geworden, das dauert jetzt eine gewisse Zeit, 1-2 Statements wenn ich jetzt weitergehen würde und dann wird diese Variable nicht mehr rot sein, das heißt, ich sehe jetzt aktuell, okay, in diesem Statement hier jetzt gerade hat sich der Wert von Variable z1 geändert, könnte man sagen, okay, das sehe ich auch, aber normalerweise wenn ich komplizierte Berechnungen hätte, ist es nicht mehr ganz nachvollziehbar, wann im welchem Statement welche Variable seinen Wert ändert und mit dieser Einfärbung in rot sehe ich immer genau, was sich wann und wo geändert hat. Wir haben uns in diesem Video angeschaut, wie man innerhalb des Debuggers Informationen über Variablen bekommt. Die einfachste Variable ist das Hovern mit der Maus über einen entsprechenden Variablenbezeichner und dann kann ich mir darin sowohl den Wert anzeigen lassen, als diesen auch ändern. Daneben gibt es noch verschiedene weitere Fenster. Ich habe einmal das Auto Window, das ist ein etwas intelligenteres Window, was mir bestimmte Ausdrücke und Informationen zur Verfügung stellt, wie zum Beispiel den Cast, den wir hier gesehen haben oder den Rückgabetyp. Zusätzlich werden dem Auto Window die Variablen der aktuell ausgeführten Methode angezeigt. Im Lokal Window ist es ähnlich wie das Auto Window nur ein bisschen unintelligenter, werden mir nur die lokalen Variablen angezeigt und in den Fenster in Überwachung 1-4 kann ich einzelne Variablen von der Hand hinzufügen, das heißt, wenn ich eine große, komplexe Methode habe mit vielen Parametern und lokalen Variablen kann ich dort personalisiert festlegen, für diese Debuggen Session brauche ich jetzt nur die, die und die Variablen. Zusätzlich können wir im Direktfenster einzelne Berechnungen in C# durchführen und damit lässt sich schon eine ganze Menge machen und man findet fast immer die Information die man braucht, zumindestens unterstützt Visual Studio einen bei dieser Aufgabe wirklich hervorragend.

Derzeit sind keine Feedbacks vorhanden...
 

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!