Wirbel um Visual Studio 2010: Neuerungen im Editor und Debugger

Seite 2: Debugger

Inhaltsverzeichnis

Der Debugger hat einige kleine, aber feine Überarbeitungen und eine große Verbesserung erfahren. Zu den kleinen zählen die Debugger-Data-Tipps. Schon bisher konnte man während einer Debugger-Sitzung mit der Maus Variablen überfahren, um ihren aktuellen Wert anzusehen. Wenn man aber die Maus wegbewegt hat, war die Anzeige sofort verschwunden. Nun lässt sich über eine Heftnadel (siehe Abbildung 6) die Anzeige "festheften". Der Vorgang gilt nicht nur für die aktuelle Sitzung, sondern übersteht auch einen Neustart von Visual Studio. Man kann die Tipps sogar exportieren ("Menu Debug"/"Export Data Tips") und auf einem anderen System wieder importieren ("Import Data Tips"). Da man außerdem zu jedem Debugger-Data-Tipp einen Kommentar schreiben kann, eignet sich die Funktion auch dazu, Debugging-Informationen an andere Teammitglieder weiterzugeben.

Debugger-Data-Tipps (Abb. 6)

Verbesserungen der Verwaltung von Haltepunkten im Debugger (Abb. 7)


Ähnliche Funktionen gibt es für Haltepunkte (Breakpoints). Die Kommentare heißen hier "Labels". Ein Haltepunkt kann mehrere Labels besitzen. Leider hat Microsoft die neue Ex- und Importfunktion für Haltepunkte nicht bei den Funktionen für die Data Tipps angeordnet, sondern versteckt. Die Exportfunktion findet man im Kontextmenü der Haltepunktleiste links im Editor, die für den Import im Fenster "Breakpoints" hinter einem Symbol verborgen ist.

Die große neue Funktion im Debugger ist IntelliTrace. Während der Beta-Phase war ihr Name noch sprechender: Historical Debugger. IntelliTrace zeichnet während einer Debugger-Sitzung laufend Daten auf. Das sind zum einen Interaktionen mit dem System (etwa Mausklicks, Dateisystem- und Registry-Zugriffe, Starten von Threads, Datenbankzugriffe, Datenbindung, Laden von XML-Dokumenten) und zum anderen Methodenaufrufe im Programmcode. Abbildung 8 zeigt die Debugger-Situation in der Ereignisansicht (Events View).

IntelliTrace-Ansicht für Ereignisse (Events View) (Abb. 8)

Abbildung 9 in der Aufrufansicht (Call View). In beiden kann man an die einzelnen Zwischenstationen zurückspringen und dort konkrete Werte der Vergangenheit sehen. Leider bezieht sich die Werteanzeige immer nur auf Methodenparameter. Die Inhalte lokaler, statischer und der Instanzen-Variablen speichert Visual Studio nicht; wie bisher sieht man von ihnen nur den Zustand am aktuellen Haltepunkt.

IntelliTrace-Ansicht für Aufrufe (Call View) (Abb. 9)

Interessant bei IntelliTrace ist, dass sich die Daten auch außerhalb von Visual Studio mit dem Kommandozeilenwerkzeug [code]intellitrace.exe aufzeichnen lassen. Die entstandenen .tdlog-Dateien kann man dann in Visual Studio öffnen, um wieder zu der gleichen Ansicht zu kommen, die man beim Debugging in Visual Studio gehabt hätte. Einigen Entwicklern funkeln nun schon die Augen bei dem Gedanken, das Werkzeug auf Kundensystemen einzusetzen, bei denen ihre Anwendung nicht korrekt läuft. Leider gibt es die IntelliTrace-Funktion nur, wenn man in die mehr als 10.000 Euro teure Ultimate-Version investiert.

Visual Studio 2010 hat einige neue Funktionen im Editor und Debugger, die den Arbeitsalltag mit der Entwicklungsumgebung etwas schöner gestalten. Weiterhin gibt es aber viele Komfortfunktionen nur über Drittanbieterwerkzeuge wie CodeRush und ReSharper. C#-Entwickler denken da sofort daran, dass sie die schließende Klammer auch in Visual Studio 2010 noch immer selbst eingeben müssen.

Dr. Holger Schwichtenberg
unterstützt mit seiner Firma www.IT-Visions.de viele Unternehmen beim Einsatz von .NET-Techniken. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.
()