Heim  >  Artikel  >  Backend-Entwicklung  >  Kleine Funktionen, die Sie im Visual Studio Debugger nicht kennen

Kleine Funktionen, die Sie im Visual Studio Debugger nicht kennen

零下一度
零下一度Original
2017-07-02 10:26:351475Durchsuche

In diesem Artikel werden hauptsächlich sieben wenig bekannte Funktionen von Visual Studio Debugger im Detail vorgestellt, die einen gewissen Referenzwert haben.

Visual Studio Debugger ist ein großartiges Debugger Tools, die Programmierern helfen können, Probleme schnell zu finden und zu lösen. Hier finden Sie eine kurze Einführung in sieben wenig bekannte Funktionen im VS-Debugging-Tool.

1. Mit einem Klick zu einer bestimmten Anweisung springen

Während des Debuggens müssen Sie häufig den gelben Pfeil ziehen, um eine bestimmte Anweisung auszuführen oder nicht auszuführen. Die herkömmliche Methode besteht darin, direkt mit der Maus zu ziehen.

In der Vorschauversion von Visual Studio 2017 15.3 gibt es eine einfachere Möglichkeit, zur Zielzeile zu springen: Bewegen Sie den Mauszeiger über die Zielzeile. Wenn das grüne Pfeilsymbol mit vertikaler Linie nach rechts angezeigt wird, halten Sie die STRG-Taste gedrückt und klicken Sie mit der linken Maustaste. Klicken Sie auf die Schaltfläche, um den gelben Debugging-Pfeil zu verschieben, und klicken Sie dann auf Debugging Next oder F5, um direkt in der angegebenen Zeile auszuführen.

2. Fügen Sie einen Haltepunkt für den angegebenen Instanzwert hinzu

Manchmal ändert sich der -Attribut-Wert einer Instanz auf unerklärliche Weise. Wenn wir wissen müssen, warum er sich ändert, fügen wir einen Haltepunkt im Attributcode hinzu, der jedoch für alle Instanzen wirksam wird.

Beim Debuggen können Sie die Funktionen „Make Object ID“ und „Conditional Breakpoint“ verwenden, um Haltepunkte für bestimmte Instanzen hinzuzufügen, wie folgt:

Zuerst habe ich eine Klasse definiert und initialisiert zwei Objekte , haben den Wert von PointX geändert und wollten einen Änderungshaltepunkt des PointX-Werts der Instanz a hinzufügen

Während des Debugging-Prozesses, Richtig -Klicken Sie auf Instanz a und wählen Sie „Objekt-ID erstellen“

. Zu diesem Zeitpunkt ist Instanz a $1 zugewiesen. Klicken Sie mit der rechten Maustaste auf den Haltepunkt, der hinzugefügt werden soll, und wählen Sie „Bedingungen“ aus. .

Nach dem Hinzufügen von $1 == diesem Code und dem anschließenden Ausführen des Programms wird der Haltepunkt wirksam, wenn sich die Eigenschaften der Instanz ändern, wird jedoch nicht wirksam, wenn die Eigenschaften von Instanz b ändern sich.

Beachten Sie, dass Make Object ID die Adresse des Objekts im Speicher aufzeichnet. Sie ändert sich beim nächsten Debuggen und muss zurückgesetzt werden.

3. Prozess erneut anhängen

An Prozess anhängen ist eine Funktion, die jeder häufig verwenden muss. In Visual Studio 2017 gibt es eine neue Option namens „An Prozess erneut anhängen“. kann praktisch sein. Jeder verbindet sich wieder mit dem Prozess, mit dem er zuletzt verbunden war.

Fügen Sie zunächst eine Verbindung zu einem Prozess her, klicken Sie auf „Debuggen beenden“ und dann auf „Debuggen“, um die darin enthaltene Option „An Prozess erneut anhängen“ anzuzeigen.

4. Alle Threads anzeigen

Während des Debugging-Vorgangs gibt es eine neue Option mit dem Namen: Threads anzeigen in Quelle. Nach dem Klicken wird vor der Codezeile, in der der Thread gestoppt wird, ein Symbol angezeigt. Wenn die Maus auf dem Symbol bleibt, wird der Thread angezeigt, um die verfügbaren Vorgänge anzuzeigen.

Beachten Sie, dass diese Funktion die Debugging-Effizienz beeinträchtigen kann. Es wird empfohlen, sie standardmäßig zu deaktivieren, wenn sie nicht benötigt wird.

Angegebene Haltepunkte vorübergehend deaktivieren

Beim Multithread-Debuggen können Sie die Funktion „Haltepunkte deaktivieren“ verwenden, um bestimmte Haltepunkte vorübergehend zu deaktivieren, um andereDer Thread wird aufgrund eines Haltepunkts unterbrochen, was sich auf die Debugging-Arbeit des aktuellen Threads auswirkt.

6. Sehen Sie sich die Aufrufstapel aller Threads an

Während des Debuggens in Command Geben Sie „Debug.ListCallStack -AllThreads“ in Window ein, um die Aufrufstapel aller Threads anzuzeigen.

Sie können auch den WinDBG-Befehl „~*k“ verwenden:

7 Auswirkungen bei Verwendung Methodenbewertung

Manchmal müssen Sie den Rückgabewert einer Methode im Debugging-Überwachungsfenster anzeigen, dies kann jedoch negative Auswirkungen haben, wenn die Methode tatsächlich ausgeführt wird. Hier können Sie bei der Eingabe im Überwachungsfenster „, nse“ hinzufügen, um dies zu vermeiden negative Auswirkungen. Es ist die Abkürzung für „No Side Effects“. Das Beispiel sieht wie folgt aus:

Add wurde am Anfang sechsmal ausgeführt, sodass die Gesamtzahl der testList 6 beträgt,

Jetzt, wenn Sie möchten Um den Rückgabewert der aktuellen Ausführung von Add anzuzeigen, können Sie Add(1) im Überwachungsfenster eingeben. Dies hat jedoch negative Auswirkungen und ändert den Wert von testList auf 7,

Wenn Sie also den ursprünglichen Wert von testList nicht beeinflussen möchten, müssen Sie On „, nse“ hinzufügen. Die folgende Anzeige ist 8, aber der ursprüngliche Wert von testList hat sich nicht geändert und ist immer noch 7:

Die Einführung endet hier. Haben Sie kleine Debugging-Funktionen, die Ihnen gefallen? Willkommen. Kommen Sie und kommentieren Sie ~

PS: Dies ist nur eine Einführung, kommentieren Sie nicht es gefällt dir nicht.

Das obige ist der detaillierte Inhalt vonKleine Funktionen, die Sie im Visual Studio Debugger nicht kennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn