"Hidden Secrets" von Visual Studio .NET-debugger?
So viel wie ich in der Regel nicht, wie die Diskussion/subjektive Beiträge SO, ich habe wirklich zu schätzen gelernt, die "Hidden Secrets" Reihe von Beiträgen, die Menschen zusammengestellt haben. Sie bieten einen tollen überblick über einige Häufig vergessene Werkzeuge, die Sie vielleicht jetzt anders entdecken.
Für diese Frage möchte ich hier das Visual Studio .NET-debugger. Was sind einige der "hidden secrets" in der VS.NET debugger, die Sie Häufig verwenden oder vor kurzem entdeckt und wünschte, du würdest längst bekannt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer meiner Lieblings-features ist die "Treffer..." option zur Verfügung, die auf einen Haltepunkt. Sie können drucken Sie eine Nachricht mit dem Wert einer Variablen zusammen mit vielen anderen Informationen, wie zum Beispiel:
$ADDRESS
- Aktuelle Anweisung$CALLER
- Vorherige Funktion Name$CALLSTACK
- Call-Stack$FUNCTION
- Aktuelle Funktion Name$PID
- Prozess-ID$PNAME
- Process-Name$TID
- Thread ID$TNAME
- Thread-NamenKönnen Sie ein makro ausführen, aber ich habe noch nie verwendet dieses feature.
Können Sie der rechten Maustaste auf ein Objekt im Watch-Fenster und klicken Sie auf " Objekt-ID.
Wird es weisen, dass die Instanz eine ID-Nummer, so dass Sie sehen können, die in einem komplizierten Objekt-Graphen, die Objekte verweisen auf die gleiche Instanz.
Für .net-Anwendungen
System.Diagnostics
viele nützliche debugging-Sachen. DieDebugger
Klasse zum Beispiel:System.Diagnostics
hat auch viele gute Attribute. Die beiden, die ich verwendet habe, sind die debugger-Anzeige-Attribut zum ändern der details in das Fenster und Schritt über den attribute-für-skipping-code, den Sie kümmern sich nicht um debugging:Als web-Entwickler, arbeitet mit Web-Services werden innerhalb der gleichen Lösung als meine front-end-code die meiste Zeit, fand ich die Fähigkeit, "Anhängen" an einen Prozess eine GROßE Zeitersparnis.
Bevor ich fand dieses Kleinod, ich würde immer um einen Haltepunkt für einige front-end-code, die sogenannten web-service-Methode und Schritt hinein. Nun, ich weiß, über diesen trick/Funktion kann ich problemlos Haltepunkte in jedem Teil von meinem code, ich möchte das spart mir eine Menge Zeit und Mühe.
Debugger.Break()
um programmgesteuert einen Haltepunkt.$exception
im watch-Fenster zeigt die Ausnahme, die gerade verarbeitet wird, auch wenn Sie nicht haben einen Haken, dass die Zuweisung derException
- Instanz um eine benannte variable.Ctrl--
undCtrl-Shift-
(Strg + Minus, Strg+Shift-Minus) sind Tastenkombinationen für Navigieren Sie Rückwärts/Vorwärts, die Hinzugefügt werden können, um die Symbolleiste als gut. Sie haben jedoch nichts mit debugging und kann immer verwendet werden, in Visual Studio.Bedingte Haltepunkte.
Laden Sie windbg-Erweiterungen in Visual Studio-debugger verwenden und Sie aus dem Direktfenster.
Als geschrieben in einem anderen Beitrag Sara Ford ist dabei eine aktuelle Serie, die auf den VS-debugger.
Ihrem blog ist die beste Quelle für VS Tipps: http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tipp+of+the+Day/default.aspx
Ist dies Art von einer alten. Wenn Sie das hinzufügen eines watch-Ausdrucks
err,hr
, dann wird halt das Ergebnis von GetLastError(), formatiert als ein HRESULT (VC++ - debugger nur).Können Sie per drag aktuellen Zeile cursor (gelber Pfeil), oben und unten den code, sobald die Ausführung angehalten ist.
Zusätzlich, um dies zu ermöglichen während der pause auf die Ausnahme, die Sie müssen klicken Sie auf "Bearbeitung aktivieren" auf Ausnahmedetails ersten.
Kann man auch mit VS Pause auf behandelte Ausnahmen durch ankreuzen von Interesse unter:
Debug->Ausnahmen : Geworfen Spalte
Einige nützliche Tastenkombinationen.
F11
zu Schritt in eine Methode.Shift-F11
Schritt aus einer Methode.F10
zu Schritt über eine Methode.Dinge, die ich Häufig verwenden:
Klicken Sie auf den Menüpunkt "Debuggen | Ausnahmen" (oder Strg-D, E-kurz), und Sie können brechen an der Zeit, dass eine Ausnahme ausgelöst wird, oder wählen Sie, um nicht zu brechen auf bestimmte Ausnahmen.
Können Sie den debugger zu laden einige der framework-Quellcode und Symbole aus einem MS-server und den Schritt in die framework-code. (Einige Bibliotheken, wie System.ServiceModel, sind noch nicht verfügbar). In den Optionen, unter windows Debuggen. Sehen MSDN How-To.
Können Sie die VS.NET debugger zum Debuggen von Javascript im IE. Sie brauchen nur zu installieren, der IE-javascript-debugger-und javascript-debugging in den IE-Einstellungen. Dann auf einen JS-Fehler es wird ein pop-up "wollen Sie debug" - dialog, und Sie können wählen, zu Debuggen, die in VS.NET.
Können Sie Sie öffnen, und legen Sie einen Haltepunkt in einer Quellcode-Datei, wenn die Datei gehört zu einer anderen Lösung (externe Datei). Der debugger kann noch den Haltepunkt. Keine Notwendigkeit, öffnen Sie eine andere Instanz Visual Studio zum Debuggen der externen Datei. Hilfreich beim Debuggen von web services Quelle. Dies funktioniert, solange alle Quellen sind aktuelle und zusammengestellt.