Freigeben über


Häufig gestellte Fragen – Debugger-Featuresuche

In dieser Dokumentation werden häufig gestellte Fragen zum Debuggen von Features in Visual Studio behandelt. Außerdem werden Debuggingaufgaben oder Probleme dem entsprechenden Feature im Visual Studio-Debugger zugeordnet. Diese Links umfassen Aufgaben oder Probleme wie das Debuggen von Multithread-Anwendungen, Codenavigation, Speicherlecks, Überprüfen von Variablen, Verwenden von Haltepunkten, debuggen externer Code und vieles mehr. Wenn Sie eine Übersicht über die Debugger-Funktionen benötigen, lesen Sie stattdessen Erster Blick auf den Debugger.

Haltepunkte

Im Code navigieren

  • Wie kann ich die Befehle erlernen, um meinen Code beim Debuggen zu durchlaufen?

    Weitere Informationen finden Sie unter Navigieren von Code mit dem Debugger.

  • Kann ich den Code auf eine bestimmte Zeile ausführen, während Haltepunkte übersprungen werden, ohne sie zu entfernen oder zu deaktivieren?

    Sie können "Ausführen bis Cursor erzwingen" für diese Szenarien verwenden. Sie können Ihre Haltepunkte beibehalten, und der Debugger überspringt sie, bis er die Codezeile mit dem Cursor erreicht. Sie überspringt auch alle Erstchance-Ausnahmen-Unterbrechungsbedingungen, die auftreten können. Weitere Informationen finden Sie unter Navigieren von Code mit dem Debugger.

  • Wenn meine Codezeile Aufrufe an verschiedene Methoden hat, kann ich eine bestimmte Methode ausführen?

    Klicken Sie mit der rechten Maustaste auf die Codezeile, um ein Kontextmenü anzuzeigen, mit dem Sie "Schritt in Spezifische" auswählen können. Dadurch wird eine Liste aller Methoden angezeigt, in die Sie einsteigen können. Sie können nun die interessante Methode auswählen.

Überprüfen und Visualisieren von Daten

  • Wie kann ich den Wert von Variablen während der Ausführung meiner App überprüfen?

    Zeigen Sie mit der Maus auf Variablen, indem Sie Datentipps verwenden oder Variablen im Fenster "Autos" und "Locals" inspizieren.

  • Kann ich den sich ändernden Wert einer bestimmten Variablen beobachten?

    Legen Sie eine Überwachung für die Variable fest. Weitere Informationen finden Sie unter Festlegen einer Überwachung für Variablen.

  • Wie kann ich Zeichenfolgen anzeigen, die für das Debuggerfenster zu lang sind?

    Die String-Visualizer zeigt Zeichenfolgen an, die für ein Datentipp oder ein Debugger-Fenster zu lang sind. Außerdem können Sie falsch formatierte Zeichenketten identifizieren.
    Integrierte Zeichenfolgenschnellansicht in Visual Studio umfasst Text-, XML-, HTML- und JSON-Optionen.

  • Wie kann ich große Sammlungsobjekte anzeigen?

    Mit der DataSet Visualizer können Sie den Inhalt eines DataSet-, DataTable-, DataView- oder DataViewManager-Elements anzeigen. Mit der IEnumerable Visualizer können Sie Objekte wie Arrays, List usw. anzeigen. Weitere Informationen finden Sie unter tabellarischen Visualisierungen.

Debuggen einer Bereits ausgeführten App

  • Wie kann ich ausgeführte Apps auf lokalen oder Remotecomputern debuggen, mehrere Prozesse gleichzeitig debuggen, Apps debuggen, die nicht in Visual Studio erstellt wurden, oder eine App debuggen, die ich nicht von Visual Studio gestartet habe?

    Siehe Anfügen an ausgeführte Prozesse.

  • Wie kann ich wiederholt an dieselbe Anwendung anfügen?

    Sie können Erneut an Prozess anhängen (UMSCHALT+ALT+P) verwenden, um ganz einfach mit nur einem Klick das Debuggen Ihrer Anwendung zu starten, ohne jedes Mal das Dialogfeld "An Prozess anhängen" durchlaufen zu müssen. Siehe Wiederverbinden mit einem Prozess

Debuggen von Multithreadanwendungen

  • Wie kann ich eine Multi-Thread-Anwendung debuggen? Oder ist meine Anwendung in einem eingefrorenen Zustand?

    Weitere Informationen zur Fehlerbehebung finden Sie im Parallel Stacks-Fenster

  • Wie kann ich die Reihenfolge anzeigen, in der Funktionen aufgerufen werden?

    Informationen zum Anzeigen des Aufrufstapels finden Sie unter Anzeigen des Aufrufstapels.

Analysieren des Arbeitsspeichers

  • Hat meine Anwendung einen Speicherverlust?

    Erstellen Sie eine Momentaufnahme, und öffnen Sie sie mit dem Speichertool, um weitere Probleme zu beheben. Siehe Messen der Speicherauslastung.

  • Wie kann ich die Speicherauslastung für systemeigene oder verwaltete Anwendungen analysieren?

    Verwenden Sie das Visual Studio Speichertool über Live-Debugging, Heap-Dumps oder den Performance Profiler.
    Siehe Auswählen eines Speicheranalysetools.

  • Wie kann ich die Speicherauslastung für systemeigene oder verwaltete Anwendungen analysieren, ohne einen Debugger anzufügen? Verwenden Sie den Visual Studio-Leistungsprofiler, wobei das Speichernutzungstool aktiviert ist.
    Siehe Analysieren der Speicherauslastung.

  • Kann ich die Speicherauslastung zwischen zwei Punkten in der Zeit vergleichen?

    Vergleichen Sie Momentaufnahmen im Speichertool, oder vergleichen Sie zwei Heapabbilder mithilfe der Diff-Funktionalität. Siehe Analysieren der Speicherauslastung.

Fehlerbehebung von externem Code

  • Kann beim Debuggen nur Benutzercode angezeigt werden?

    Just My Code ist eine Visual Studio-Debugging-Funktion, die automatisch Aufrufe von System-, Framework- und anderem Nichtbenutzer-Code überspringt. Im Fenster "Aufrufstapel" reduziert Just My Code diese Aufrufe in [External Code]-Frames. Siehe Nur Benutzer-Code mit Just My Code

  • Wie kann ich die Unformatierten Assemblyanweisungen anzeigen oder debuggen, die mein Programm ausführt?

    Verwenden Sie das Disassemblierungsfenster aus Debug > Windows > Disassembly. Sie können jeweils eine Anweisung durchlaufen und sogar Haltepunkte für einzelne Assemblyanweisungen festlegen.

  • Kann ich Quellcode für .NET-Bibliotheken anzeigen?

    Aktivieren Sie Microsoft-Symbolserver in Debug-Optionen unter Symbole, um Symbole und Quellcode für .NET-Bibliotheken herunterzuladen. Siehe Symbol angeben

  • Wie kann ich PDBs von einem bestimmten oder freigegebenen Standort oder Server laden?

    Konfigurieren Sie die Symbolserver über debug > Options > Symbols. Siehe Symbol angeben

  • Wie kann ich nie einen bestimmten PDB laden? Oder wie kann ich immer eins laden?

    Konfigurieren Sie Ihre Listen zum Einschließen und Ausschließen in debug > Optionen > Symbole.
    Siehe Symbol angeben

Debuggen konfigurieren

  • Wie kann ich Debuggereinstellungen konfigurieren?

    Informationen zum Konfigurieren von Debuggeroptionen und Debuggerprojekteinstellungen finden Sie unter Debuggereinstellungen und Vorbereitung.

  • Wie kann ich Informationen anpassen, die im Debugger angezeigt werden?

    Möglicherweise möchten Sie andere Informationen als den Objekttyp als Wert in verschiedenen Debuggerfenstern anzeigen. Verwenden Sie für C#-, Visual Basic-, F#- und C++/CLI-Code das attribut DebuggerDisplay. Für erweiterte Optionen können Sie die Benutzeroberfläche auch anpassen, indem Sie eine benutzerdefinierten Visualizer-erstellen. Verwenden Sie für natives C++ das NatVis-Framework.

Weitere Aufgaben

  • Muss ich einen Dump abspeichern?

    Während beim Debuggen bei einem Fehler oder Haltepunkt angehalten wurde, wählen Sie Debuggen > Speicherabbild speichern unteraus. Siehe Dumpdateien

  • Wie kann ich eine Speicherabbilddatei analysieren?

    Öffnen Sie das Dump, indem Sie Datei > In Visual Studio öffnen auswählen. Um mit dem Debuggen zu beginnen, wählen Sie Debuggen nur mit verwaltetem, Debuggen nur mit nativem, Debuggen mit gemischtem oder Debuggen mit verwaltetem Arbeitsspeicher. Siehe Dumpdateien

  • Kann ich Code während einer Debugsitzung bearbeiten?

    Verwenden Sie "Hot Reload", zuvor als "Bearbeiten" und "Weiter" bezeichnet. Verwenden Sie für XAML XAML Hot Reload.

  • Wie kann ich auf Remotecomputern debuggen?

    Siehe Remote-Debugging.

  • Wie kann ich Leistungsprobleme beheben?

    Ein erster Blick auf die Profiling-Tools

  • Wie kann ich eine Ausnahme beheben?

    Siehe Ausnahmefehler beheben.