Allgemeine Debugoptionen

Um Visual Studio-Debuggeroptionen festzulegen, wählen Sie Tools>Optionenaus, und wählen Sie unter Debuggen die Kontrollkästchen neben den Optionen Allgemein aus oder deaktivieren Sie sie. Sie können alle Standardeinstellungen mit Tools>Import- und Exporteinstellungen wiederherstellen>Alle Einstellungenzurücksetzen. Wenn Sie eine Teilmenge von Einstellungen zurücksetzen möchten, speichern Sie Ihre Einstellungen mit dem Import- und Exporteinstellungen-Assistenten, bevor Sie die änderungen vornehmen, die Sie testen möchten, und importieren Sie ihre gespeicherten Einstellungen anschließend.

Sie können die folgenden allgemeinen Optionen festlegen:

Vor Löschen aller Haltepunkte fragen: Dies erfordert eine Bestätigung vor dem Abschließen des Befehls Alle Haltepunkte löschen.

Alle Prozesse anhalten, wenn ein Prozess anhält: Alle Prozesse, an die der Debugger angefügt ist, werden gleichzeitig unterbrochen, wenn eine Unterbrechung auftritt.

Bei Anwendungsdomänengrenzen oder verwaltete/native Übergänge überschreitenden Ausnahmen unterbrechen: Beim Debuggen im verwalteten oder gemischten Modus kann die Common Language Runtime Ausnahmen erfassen, die die Grenzen von Anwendungsdomänen oder verwaltete bzw. native Grenzen überschreiten, wenn die folgenden Bedingungen erfüllt sind:

  1. Wenn systemeigener Code verwalteten Code mithilfe von COM Interop aufruft und der verwaltete Code eine Ausnahme auslöst. Weitere Informationen finden Sie unter Einführung in COM-Interop.

  2. Wenn verwalteter Code in Anwendungsdomäne 1 ausgeführt wird, wird verwalteter Code in Anwendungsdomäne 2 aufgerufen, und der Code in Anwendungsdomäne 2 löst eine Ausnahme aus. Siehe Programmierung mit Anwendungsdomänen.

  3. Wenn Code eine Funktion mithilfe von Spiegelung aufruft und diese Funktion eine Ausnahme auslöst. Weitere Informationen finden Sie unter Reflexion.

In Bedingungen 2 und 3 wird die Ausnahme manchmal von verwaltetem Code in mscorlib und nicht von der Common Language Runtime abgefangen. Diese Option beeinträchtigt nicht das Unterbrechen bei von mscorlib erfassten Ausnahmen.

Debugging auf Adressebene aktivieren: Hiermit werden erweiterte Features für das Debuggen auf Adressebene aktiviert (Fenster Disassemblierung, Fenster Register und Adresshaltepunkte).

  • Disassemblierung anzeigen, wenn der Quellcode nichtverfügbar ist: Zeigt automatisch das Fenster Disassemblierung an, wenn Sie Code debuggen, für den der Quellcode nicht verfügbar ist.

Aktivieren von Haltepunktfiltern: Ermöglicht das Festlegen von Filtern auf Haltepunkte, sodass sie sich nur auf bestimmte Prozesse, Threads oder Computer auswirken.

Verwenden Sie das neue Ausnahmehilfsprogramm: Aktiviert die Ausnahmehilfe, die den Ausnahme-Assistenten ersetzt. (Ausnahmehilfsprogramm wird ab Visual Studio 2017 unterstützt)

Anmerkung

Für verwalteten Code lautete diese Option früher Ausnahme-Assistenten aktivieren.

Nur meinen Code aktivieren: Der Debugger zeigt und wechselt nur in den Benutzercode ("Mein Code"), ignoriert dabei Systemcode sowie anderen Code, der optimiert ist oder keine Debugging-Symbole enthält.

  • Warnen, wenn beim Start kein Benutzercode vorhanden ist (nur für verwaltete Projekte): Wenn der Debugger mit aktiviertem "Just My Code" gestartet wird, warnt Sie diese Option, wenn kein Benutzercode ("Mein Code") vorhanden ist.

Durchlaufen des .NET Framework-Quellcodes aktivieren: Diese Option ermöglicht es dem Debugger, den .NET Framework-Quellcode schrittweise auszuführen. Wenn Sie diese Option aktivieren, wird "Just My Code" automatisch deaktiviert. .NET Framework-Symbole werden an einen Cachespeicherort heruntergeladen. Ändern Sie den Cachespeicherort im Dialogfeld Optionen, in der Kategorie Debuggen, auf der Seite Symbole.

Überspringen von Eigenschaften und Operatoren (nur verwaltet): Verhindert, dass der Debugger in Eigenschaften und Operatoren im verwalteten Code hineingelangt.

Aktivieren der Eigenschaftenauswertung und anderer impliziter Funktionsaufrufe: Aktiviert die automatische Auswertung von Eigenschaften und impliziten Funktionsaufrufen in Variablenfenstern und das Dialogfeld QuickWatch-.

  • Aufrufzeichenfolgenkonvertierungsfunktion für Objekte in Variablenfenstern (nur C# und JavaScript): Führt beim Auswerten von Objekten in Variablenfenstern einen impliziten Zeichenfolgenkonvertierungsaufruf aus. Das Ergebnis wird anstelle des Typnamens als Zeichenfolge angezeigt. Gilt nur beim Debuggen im C#-Code. Diese Einstellung kann durch das DebuggerDisplay-Attribut überschrieben werden (siehe Verwenden des DebuggerDisplay-Attributs).

Aktivieren der Quellserverunterstützung: Weist den Visual Studio-Debugger an, Quelldateien von Quellservern abzurufen, die das SrcSrv (srcsrv.dll)-Protokoll implementieren. Team Foundation Server und die Debuggingtools für Windows sind zwei Quellserver, die das Protokoll implementieren. Weitere Informationen zum SrcSrv-Setup finden Sie in der dokumentation SrcSrv. Zusätzliche Informationen finden Sie unter Angeben von Symboldateien (PDB-Dateien) und Quelldateien im Visual Studio Debugger (C#, C++, Visual Basic, F#).

Wichtig

Da das Lesen von .pdb Dateien dazu führen kann, dass beliebiger Code in den Dateien ausgeführt wird, stellen Sie sicher, dass Sie dem Server vertrauen.

  • Diagnosemeldungen des Quellservers im Ausgabefensterdrucken: Wenn die Quellserverunterstützung aktiviert ist, aktiviert diese Einstellung die Diagnoseanzeige.

  • Quellserver nur für teilweise vertrauenswürdige Assemblys zulassen (nur verwaltet): Wenn die Quellserverunterstützung aktiviert ist, setzt diese Einstellung das Standardverhalten außer Kraft, dass keine Quellen für teilweise vertrauenswürdige Assemblys abgerufen werden.

  • Immer nicht vertrauenswürdige Quellserverbefehle ausführen, ohneaufzufordern: Wenn die Quellserverunterstützung aktiviert ist, setzt diese Einstellung das Standardverhalten der Eingabeaufforderung beim Ausführen eines nicht vertrauenswürdigen Befehls außer Kraft.

Unterstützung von Quelllinksaktivieren: Weist den Visual Studio-Debugger an, Quelldateien für PDB--Dateien herunterzuladen, die Quelllinkinformationen enthalten. Weitere Informationen zum Quelllink finden Sie in der Spezifikation Quelllink.

Wichtig

Da der Quelllink Dateien mit HTTP oder HTTPS herunter lädt, stellen Sie sicher, dass Sie der PDB--Datei vertrauen.

  • Zurückgreifen auf die Git Credential Manager-Authentifizierung für alle Source Link-Anfragen: Wenn die Source Link-Unterstützung aktiviert ist und eine Source Link-Anfrage die Authentifizierung schlägt, ruft Visual Studio den Git Credential Manager auf.

Gesamte Quellzeile für Haltepunkte und aktuelle Anweisung hervorheben (nur C++): Wenn der Debugger einen Haltepunkt oder eine aktuelle Anweisung hervorhebung, wird die gesamte Zeile hervorgehoben.

Quelldateien müssen genau mit der ursprünglichen Version übereinstimmen: Weist den Debugger an, zu überprüfen, ob eine Quelldatei mit der Version des Quellcodes übereinstimmt, mit der die ausführbare Datei erstellt wird, die Sie debuggen. Wenn die Version nicht übereinstimmt, werden Sie aufgefordert, eine übereinstimmende Quelle zu finden. Wenn keine übereinstimmende Quelle gefunden wird, wird der Quellcode beim Debuggen nicht angezeigt.

Gesamten Text aus Ausgabefenster an das Direktfenster umleiten: Hiermit werden alle Debuggernachrichten, die normalerweise im Fenster Ausgabe angezeigt werden, stattdessen im Fenster Direkt angezeigt.

Unformatierte Struktur von Objekten in Variablenfensternanzeigen: Deaktiviert alle Anpassungen der Objektstrukturansicht. Weitere Informationen zu Ansichtsanpassungen finden Sie unter Erstellen benutzerdefinierter Ansichten verwalteter Objekte.

JiT-Optimierung beim Laden des Moduls unterdrücken (nur verwaltet): Deaktiviert die JIT-Optimierung von verwaltetem Code, wenn ein Modul geladen wird und JIT kompiliert wird, während der Debugger angefügt ist. Das Deaktivieren der Optimierung erleichtert möglicherweise das Debuggen einiger Probleme, obwohl auf Kosten der Leistung. Wenn Sie Just My Code verwenden, kann das Unterdrücken der JIT-Optimierung dazu führen, dass nicht-Benutzercode als Benutzercode angezeigt wird ("Mein Code"). Weitere Informationen finden Sie unter JIT-Optimierung und Debugging.

JavaScript-Debugging für ASP.NET (Chrome, Microsoft Edge und IE)aktivieren: Aktiviert den Skriptdebugger für ASP.NET Apps. Bei der ersten Verwendung in Chrome müssen Sie sich möglicherweise beim Browser anmelden, um Chrome-Erweiterungen zu aktivieren, die Sie installiert haben. Deaktivieren Sie diese Option, um das Legacyverhalten wiederhergestellt zu können.

Aktivieren der Verwendung des JavaScript-Debuggers mit mehreren Zielzielen zum Debuggen von JavaScript in anwendbaren Zielen (erfordert Debuggingneustart) Ermöglicht die gleichzeitige Verbindung mit dem Browser und Back-End, sodass Sie Ihren Code debuggen können, der im Client und auf dem Server direkt vom Editor ausgeführt wird.

Laden dll-Exporte (nur systemeigene): Lädt DLL-Exporttabellen. Symbolinformationen aus DLL-Exporttabellen können nützlich sein, wenn Sie mit Windows-Nachrichten, Windows-Prozeduren (WindowProcs), COM-Objekten oder Marshaling oder einer dll arbeiten, für die Sie keine Symbole haben. Das Lesen von DLL-Exportinformationen erfordert einen gewissen Aufwand. Daher ist diese Funktion standardmäßig deaktiviert.

Verwenden Sie dumpbin /exports, um zu sehen, welche Symbole in der Exporttabelle einer DLL verfügbar sind. Symbole sind für eine beliebige 32-Bit-System-DLL verfügbar. Durch Lesen der dumpbin /exports Ausgabe können Sie den genauen Funktionsnamen einschließlich nicht alphanumerischer Zeichen sehen. Dies ist nützlich, um einen Haltepunkt für eine Funktion festzulegen. Funktionsnamen aus DLL-Exporttabellen könnten an anderen Stellen im Debugger gekürzt erscheinen. Die Aufrufe werden in der Aufrufreihenfolge aufgelistet, wobei die aktuelle Funktion (die am tiefsten geschachtelte) oben angezeigt wird. Weitere Informationen finden Sie unter dumpbin /exports.

Parallele Stapeldiagramme von unten nach oben anzeigen: Steuert die Richtung, in der Stapel im Fenster "Parallele Stapel" angezeigt werden.

Ausnahmen für den GPU-Speicherzugriff ignorieren, wenn der Wert durch die geschriebenen Daten nicht geändert wurde: Hiermit werden Racebedingungen ignoriert, die beim Debuggen erkannt wurden, wenn sich die Daten nicht geändert haben. Weitere Informationen finden Sie unter Debuggen von GPU-Code.

Verwalteten Kompatibilitätsmodus verwenden: Ersetzt die Standard-Debugging-Engine durch eine ältere Version, um die folgenden Szenarien zu ermöglichen:

  • Sie verwenden eine andere .NET-Sprache als C#, Visual Basic oder F#, die einen eigenen Ausdrucks-Evaluator bereitstellt (dies umfasst C++/CLI).

  • Sie möchten "Bearbeiten" und "Weiter" für C++-Projekte während des Debuggings im gemischten Modus aktivieren.

Anmerkung

Wenn Sie den Modus für verwaltete Kompatibilität auswählen, werden einige Features deaktiviert, die nur im Standarddebuggingmodul implementiert sind. Das Legacydebuggingmodul wurde in Visual Studio 2012 ersetzt.

Warnen bei Verwendung von benutzerdefinierten Debuggerschnellansichten für potenziell unsichere Prozesse (nur verwaltet): Visual Studio warnt Sie, wenn Sie eine benutzerdefinierte Debuggerschnellansicht verwenden, die Code im debuggierten Prozess ausführt, da es unsicheren Code ausführen könnte.

Windows Debug-Heap-Allocator aktivieren (nur für native Anwendungen): Aktiviert den Windows-Debug-Heap, um die Heap-Diagnostik zu verbessern. Das Aktivieren dieser Option wirkt sich auf die Debuggingleistung aus.

Ui Debugging Tools für XAML-aktivieren: Die Fenster "Live Visual Tree" und "Live Property Explore" werden angezeigt, wenn Sie mit dem Debuggen beginnen (F5) einen unterstützten Projekttyp. Weitere Informationen finden Sie unter Prüfen von XAML-Eigenschaften beim Debuggen.

  • Vorschau ausgewählter Elemente in der Live Visual Tree: Das XAML-Element, dessen Kontext ausgewählt ist, wird auch im Live Visual Tree Fenster ausgewählt.

  • Laufzeittools in Anwendunganzeigen: Zeigt die befehle Live Visual Tree in einer Symbolleiste im Hauptfenster der XAML-Anwendung an, die gedebuggt wird.

  • Xaml Hot Reloadaktivieren: Ermöglicht Ihnen die Verwendung des XAML-Features "Hot Reload" mit XAML-Code, wenn Ihre App ausgeführt wird. (Dieses Feature wurde zuvor als "XAML-Bearbeiten und Fortfahren" bezeichnet.

  • Nur mein XAML-aktivieren: Ab Visual Studio 2019, Version 16.4, zeigt die Live Visual Tree standardmäßig nur XAML an, die als Benutzercode klassifiziert ist. Wenn Sie diese Option deaktivieren, wird im Tool der gesamte generierte XAML-Code angezeigt.

  • Deaktivieren Sie den Auswahlmodus, wenn ein Element ausgewählt ist Ab Visual Studio 2019, Version 16.4, wird die Schaltfläche zur Auswahl von Elementen in der In-App-Symbolleiste (Auswahl aktivieren) deaktiviert, wenn ein Element ausgewählt wird. Wenn Sie diese Option deaktivieren, bleibt die Elementauswahl aktiviert, bis Sie erneut auf die Schaltfläche der In-App-Symbolleiste klicken.

  • XAML Hot Reload beim Speichern von Dokumenten anwenden Ab Visual Studio 2019 Version 16.6 wird XAML Hot Reload beim Speichern des Dokuments angewendet.

Diagnosetools beim Debuggenaktivieren: Das Fenster Diagnosetools wird beim Debuggen angezeigt.

PerfTip für verstrichene Zeit beim Debuggen anzeigen: Das Codefenster zeigt die verstrichene Zeit eines bestimmten Methodenaufrufs beim Debuggen an.

Bearbeiten und Fortfahren aktivieren: Hiermit wird die Funktion zum Bearbeiten und Fortfahren beim Debuggen aktiviert.

  • Native Bearbeitung aktivieren undfortsetzen: Sie können die Funktionalität "Bearbeiten" und "Weiter" beim Debuggen von systemeigenem C++-Code verwenden. Weitere Informationen finden Sie unter Edit and Continue (C++).

  • Anwenden von Änderungen auf "Continue" (nur native): Visual Studio kompiliert automatisch und wendet alle ausstehenden Codeänderungen an, die Sie vorgenommen haben, wenn der Prozess aus einem Unterbrechungszustand fortgesetzt wird. Wenn diese Option nicht aktiviert ist, können Sie Änderungen mit der Option Codeänderungen übernehmen im Menü Debuggen übernehmen.

  • Vor veraltetem Code warnen (nur für native Systeme): Warnungen zu veraltetem Code erhalten.

Beim Debuggen die Schaltfläche „Ausführung bis Klick“ im Editor anzeigen: Wenn diese Option aktiviert ist, wird die Schaltfläche Ausführen bis Klick beim Debuggen angezeigt.

Die Konsole automatisch schließen, wenn das Debuggen beendet wird: Teilt Visual Studio mit, die Konsole am Ende einer Debugsitzung zu schließen.

Schnelle Ausdrucksauswertung aktivieren (nur für verwalteten Code): Ermöglicht es dem Debugger, eine schnellere Auswertung zu versuchen, indem er die Ausführung einfacher Eigenschaften und Methoden simuliert.

Debugsymbole in externem Prozess laden (nur nativ): Hiermit wird diese Arbeitsspeicheroptimierung beim Debuggen aktiviert.

Visual Studio beim Wechsel zum Debugger in den Vordergrund rücken: Hiermit wird Visual Studio in den Vordergrund gerückt, wenn Sie im Debugger anhalten.

Erweiterte Datentipps bleiben geöffnet, bis sie weggeklickt werden. Wenn diese Option ausgewählt ist, bleibt ein erweiterter Datentipp geöffnet, bis Sie ihn wegklicken.

In älteren Versionen von Visual Studio verfügbare Optionen

Wenn Sie eine ältere Version von Visual Studio verwenden, sind möglicherweise einige zusätzliche Optionen vorhanden.

Enable Edge Developer Tools for UWP JavaScript Apps (Experimental): Aktiviert Entwicklertools für UWP-JavaScript-Apps in Microsoft Edge.

Legacy-Chrome-JavaScript-Debugger für ASP.NETaktivieren: Aktiviert den älteren JavaScript-Skriptdebugger für ASP.NET-Apps. Bei der ersten Verwendung in Chrome müssen Sie sich möglicherweise beim Browser anmelden, um Chrome-Erweiterungen zu aktivieren, die Sie installiert haben.

Den Ausnahme-Assistenten aktivieren: Bei verwaltetem Code wird der Ausnahme-Assistent aktiviert. Ab Visual Studio 2017 ersetzte die Ausnahmehilfe den Ausnahme-Assistenten.

Aufrufliste für Ausnahmefehler entladen: Durch diese Option wird für das Fenster Aufrufliste ein Rollback der Aufrufliste an den Punkt vor dem Auftreten des Ausnahmefehlers ausgeführt.

Verwenden Sie experimentelle Methoden, um das Chrome JavaScript-Debugging zu starten, wenn Visual Studio als Administrator ausgeführt wird: Teilt Visual Studio mit, eine neue Methode auszuprobieren, um Chrome während des JavaScript-Debuggings zu starten.

Warnen, wenn beim Start keine Symbole vorhanden sind (nur nativ): Zeigt ein Warndialogfeld an, wenn Sie ein Programm debuggen, für das der Debugger keine Symbolinformationen hat.

Warnen, wenn das Skriptdebugging beim Startendeaktiviert ist: Zeigt ein Warndialogfeld an, wenn der Debugger mit deaktiviertem Skriptdebugging gestartet wird.

Verwalteter Kompatibilitätsmodus verwenden: Wenn diese Option ausgewählt ist, verwendet der Debugger den verwalteten Debugger von Visual Studio 2010, der beim Debuggen von C++/CLI-Code erforderlich war.

Verwenden des nativen Kompatibilitätsmodus: Wenn diese Option ausgewählt ist, verwendet der Debugger den systemeigenen Visual Studio 2010-Debugger anstelle des neuen nativen Debuggers.

  • Verwenden Sie diese Option, wenn Sie .NET C++-Code debuggen, da das neue Debuggingmodul die Auswertung von .NET C++-Ausdrücken nicht unterstützt. Durch aktivieren des nativen Kompatibilitätsmodus werden jedoch viele Features deaktiviert, die von der aktuellen Debuggerimplementierung abhängig sind. Beispielsweise fehlen der Legacy-Engine viele Visualisierer für eingebaute Typen wie std::string in Visual Studio 2015-Projekten. Verwenden Sie Visual Studio 2013-Projekte für die optimale Debugerfahrung in diesen Fällen.

Siehe auch