Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Umgang mit Ausnahmen ist ein häufiges Problem, unabhängig von Ihrer Technologie oder Ihrem Know-how. Es kann eine frustrierende Erfahrung sein, herauszufinden, warum Ausnahmen Probleme mit Ihrem Code verursachen. Wenn Sie eine Ausnahme in Visual Studio debuggen, möchten wir diese Frustration verkürzen, indem wir Ihnen relevante Ausnahmeinformationen zur Verfügung stellen, damit Sie Ihr Problem schneller debuggen können.
Anhalten bei einer Ausnahme
Wenn der Debugger bei einer Ausnahme umbricht, wird rechts neben dieser Codezeile ein Ausnahmefehlersymbol angezeigt. Neben dem Symbol für die Ausnahme wird eine nicht modale Ausnahmen-Hilfe angezeigt.
Ausnahmeinformationen prüfen
Sie können sofort den Ausnahmetyp und die Ausnahmemeldung im Ausnahmehilfsprogramm lesen und ob die Ausnahme ausgelöst oder nicht behandelt wurde. Sie können die Eigenschaften des Exception-Objekts prüfen und anzeigen, indem Sie auf den Link Details anzeigen klicken.
Analysieren von NULL-Verweisen
Ab Visual Studio 2017 gilt sowohl für .NET- als auch für C/C++-Code Folgendes: Bei Vorkommen von NullReferenceException oder AccessViolation werden in der Ausnahmen-Hilfe Informationen zur NULL-Analyse angezeigt. Die Analyse wird als Text unterhalb der Ausnahmemeldung angezeigt. In der nachstehenden Abbildung werden die Informationen als "s war null." angezeigt.
Anmerkung
Für die Null-Referenzanalyse in verwaltetem Code ist .NET Version 4.6.2 erforderlich. Die Nullanalyse wird derzeit für Universal Windows Platform (UWP) und andere .NET Core-Anwendungen nicht unterstützt. Sie ist nur beim Debuggen von Code verfügbar, der keine Just-In-Time (JIT)-Codeoptimierungen enthält.
Konfigurieren von Ausnahmeeinstellungen
Sie können den Debugger so konfigurieren, dass der Vorgang unterbrochen wird, wenn eine Ausnahme des aktuellen Typs auftritt. Verwenden Sie hierfür in der Ausnahmen-Hilfe den Abschnitt mit den Ausnahmeeinstellungen. Wenn der Debugger bei einer ausgelösten Ausnahme angehalten wird, können Sie das Kontrollkästchen verwenden, um das Unterbrechen dieses Ausnahmetyps zu deaktivieren, wenn er in Zukunft ausgelöst wird. Gehen Sie wie folgt vor, wenn der Vorgang bei Auslösung dieser Ausnahme im aktuellen Modul nicht angehalten werden soll: Aktivieren Sie im Fenster Ausnahmeeinstellungen das Kontrollkästchen neben dem Modulnamen unter Ausgenommen, wenn ausgelöst von: .
Überprüfen innerer Ausnahmen
Wenn die Ausnahme über interne Ausnahmen verfügt (InnerException), können Sie sie im Ausnahmehilfsprogramm anzeigen. Wenn mehrere Ausnahmen vorhanden sind, können Sie mithilfe der über dem Aufrufstapel angezeigten Pfeile nach links und rechts navigieren.
Untersuchen von erneut ausgelösten Ausnahmen
Falls eine Ausnahme ausgelöst wurde (thrown), wird in der Ausnahmen-Hilfe die Aufrufliste der ersten Ausnahmenauslösung angezeigt. Wenn die Ausnahme mehrmals ausgelöst wurde, wird nur der Aufrufstapel aus der ursprünglichen Ausnahme angezeigt.
Überprüfen asynchroner Ausnahmen (.NET)
Ab .NET 9 unterbricht der Visual Studio-Debugger automatisch, wenn eine asynchrone Task-Methode eine Ausnahme im .NET Framework Code auslöst. Dies erleichtert das Debuggen von asynchronem Code, insbesondere in ASP.NET, da Ausnahmen häufig über asynchrone Grenzen ausgelöst werden.
Anzeigen der Aufrufliste
Ab Version 17.3 von Visual Studio 2022 können Sie Ausnahmestapelframes im Call-Stack-Fenster anzeigen. Bei asynchronen Ausnahmen bietet dies die Möglichkeit, Symbole schnell zu laden oder Quellen zu finden und direkt zur Website der Ausnahme zu wechseln. Ausnahmestapelrahmen im Aufruflistenfenster stellen Standardfunktionen der Aufrufliste bereit wie automatische Navigation, schnelles Wechseln zwischen Rahmen sowie Optionen zum Laden und Dekompilieren von Symbolen, um zu dem Quellcode zurückzukehren, in dem die Ausnahme ausgelöst wurde.
KI-Unterstützung erhalten
Wenn Sie über Copilot verfügen, können Sie KI-Unterstützung erhalten, während Sie Ausnahmen debuggen. Suchen Sie einfach nach dem Analysieren mit Copilot oder Fragen Sie Copilot
. In diesen Szenarien kennt Copilot bereits den Kontext für Ihre Fragen, sodass Sie nicht selbst im Chat den Kontext angeben müssen. Weitere Informationen finden Sie unter Debug mit Copilot.
Wenn Copilot zugriff auf den Ausgabefensterkontext möchte, um das Problem zu analysieren, werden Sie im Chatfenster zur Eingabe dieser Berechtigung aufgefordert. Wenn Sie berechtigungen erteilen, aktivieren Sie Copilot, zusätzliche Analysen der Ausnahme basierend auf Laufzeitdetails durchzuführen. Die Ausnahmehilfe, variable Analyse, Codeüberprüfung und andere Debugszenarien erhalten Zugriff auf diesen Kontext für die aktuelle Debugsitzung.
Erhalten Sie KI-Hilfe mit Repository-Kontext
Wenn Sie mit einem Azure DevOps Repo in Visual Studio arbeiten, enthält die Ausnahmeanalyse mit Copilot den Repositorykontext für intelligentere, schnellere und präzisere Ausnahmeauflösungen. Copilot führt Querverweise auf Ihr offenes Repository, einschließlich vergangener Fehler, Probleme, Pull-Anfragen und historischer Korrekturen, um praktische Einsichten zu liefern, die direkt für Ihre Codebasis relevant sind.
Wenn eine Ausnahme auftritt:
- Copilot identifiziert die wahrscheinlichsten Ursachen, betroffenen Komponenten und potenzielle Korrekturen.
- Copilot nutzt Repositorywissen, um ähnliche frühere Probleme und deren Lösungen hervorzuheben, die Ihnen helfen, aus vorhandenen Fixes zu lernen.
- Komplexe Ausnahmen werden mit vollständigem Kontext analysiert, das Laufzeitverhalten mit historischen Mustern verbunden, sodass Sie unerwartete oder falsche Werte schnell verstehen können.
- Durch das automatische Bereitstellen relevanter Fixes und Erkenntnisse spart Copilot Zeit und reduziert häufig den Versuch und Irrtum, der zum Debuggen anspruchsvoller Probleme erforderlich ist.
Bei komplexen Fehlern, die end-to-End-Diagnosen über eine einzige Ausnahme hinaus erfordern, können Sie den Debugger-Agent verwenden. Der Debugger-Agent stellt einen agentenbasierten Workflow bereit, der Korrekturen mithilfe von Live-Laufzeitdaten reproduziert, instrumentiert und überprüft. Weitere Informationen finden Sie unter Agentic Bug Resolution with the Debugger Agent.
Freigeben einer Debugsitzung mit Live Share
Über die Ausnahmen-Hilfe können Sie eine Live Share-Sitzung starten, indem Sie den Link Live Share-Sitzung starten... verwenden. Alle Benutzer, die der Live Share-Sitzung beitreten, können die Ausnahmen-Hilfe und alle anderen Debuginformationen anzeigen.