Freigeben über


Gewusst wie: Einzelschritte in "Nur mein Code"

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

Thema ist vorhanden Thema ist vorhanden

Thema ist vorhanden

Nur verwaltet

Thema ist vorhanden

Pro, Premium und Ultimate

Thema ist vorhanden Thema ist vorhanden

Thema ist vorhanden

Nur verwaltet

Thema ist vorhanden

Gelegentlich möchten Sie vielleicht während des Debuggens nur den Code betrachten, den Sie selbst geschrieben haben, und anderen Code (z. B. Systemaufrufe) ignorieren. Sie können dazu die Debugoption Nur mein Code verwenden. Mit der Option Nur mein Code wird nicht-benutzerseitiger Code verborgen, sodass dieser Code in den Debuggerfenstern nicht angezeigt wird. Beim Durchführen von Einzelschritten geht der Debugger den nicht-benutzerseitigen Code durch, hält bei der Ausführung dieses Codes jedoch nicht an.

Bei Verwendung der Option Nur mein Code werden drei Dinge untersucht, um Benutzercode von nicht-benutzerseitigem Code zu unterscheiden: DBG-Dateien, PDB-Dateien und die Optimierung.

Bei einem standardmäßigen Debugbuild ist die Optimierung deaktiviert, und es werden Debugsymbole für alle Module erstellt. Bei der Ausführung eines Debugbuilds werden diese Module als Bestandteil des Benutzercodes angesehen. Wird jedoch eine optimierte Bibliotheksfunktion aufgerufen, die keine Debugsymbole enthält, wird diese Funktion nicht als Bestandteil des Benutzercodes angesehen. Nur mein Code verhindert, dass die Ausführung an Haltepunkten im Bibliothekscode angehalten wird. Normalerweise ist dies Code, der beim Debuggen nicht relevant ist. Im Fenster Haltepunkte werden diese Haltepunkte mit dem Symbol für deaktivierte Haltepunkte angezeigt.

Um den gesamten Code anzuzeigen und an allen Haltepunkten anzuhalten, kann die Debugoption Nur mein Code über das Dialogfeld Optionen deaktiviert werden.

Drei Attribute beeinflussen den Code, den der Debugger für eigenen Code erachtet: DebuggerNonUserCodeAttribute teilt dem Debugger mit, dass der vorliegende Code kein eigener Code ist. DebuggerHiddenAttribute blendet den Code für den Debugger aus, auch wenn Nur mein Code deaktiviert wird. DebuggerStepThroughAttribute veranlasst den Debugger, den vorliegenden Code nicht in Einzelschritten, sondern in Prozedurschritten zu durchlaufen.

Wenn Nur mein Code aktiviert wird, ist es möglich, im Menü Debuggen die Option Unterbrechen auszuwählen und die Ausführung an einer Stelle anzuhalten, an der kein Mein Code vorhanden ist. In diesem Fall wird kein Code angezeigt. Wenn Sie außerdem einen Schritt-Befehl auswählen, gelangen Sie zur nächsten Zeile von Mein Code.

Programmgesteuerte Break-Anweisungen (z. B. Stop-Anweisungen in Visual Basic) werden unterschiedlich behandelt. Der Debugger wird bei diesen Anweisungen immer unterbrochen, auch dann, wenn Nur mein Code aktiviert ist. In diesem Fall wird kein verborgener, sondern nicht-benutzerseitiger Code angezeigt, aber durch die schrittweise Ausführung gelangen Sie nach wie vor vom nicht-benutzerseitigen Code zur nächsten Zeile von Mein Code.

Tipp

Nur mein Code wird in Geräteprojekten nicht unterstützt.

So aktivieren oder deaktivieren Sie die Debugoption "Nur mein Code"

  1. Wählen Sie im Menü Extras den Befehl Optionen aus.

  2. Öffnen Sie im Dialogfeld Optionen den Knoten Debuggen, und wählen Sie dann Allgemein aus.

  3. Aktivieren oder deaktivieren Sie Nur meinen Code aktivieren.

Siehe auch

Referenz

DebuggerNonUserCodeAttribute

DebuggerHiddenAttribute

DebuggerStepThroughAttribute

Konzepte

Ausführungskontrolle