Überprüfen einer Ausnahme mithilfe des Ausnahmehilfsprogramms
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, die Ihnen helfen, Ihr Problem schneller zu debuggen.
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 werden für .NET- und C/C++-Code bei Auftreten eines NullReferenceException
oder einer AccessViolation
Nullanalyseinformationen im Ausnahmehelfer 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 die universelle Windows-Plattform (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 aus dem Abschnitt Ausnahmeeinstellungen der Ausnahmen-Hilfe ausgelöst wird. 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 wird der Visual Studio-Debugger automatisch unterbrochen, 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 Visual Studio 2022 Version 17.3 können Sie Ausnahmestapelrahmen im Fenster „Aufrufliste“ 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 Copilothaben, können Sie KI-Unterstützung erhalten, während Sie Ausnahmen debuggen. Suchen Sie einfach nach der Schaltfläche Copilot fragen. In diesen Szenarien kennt Copilot bereits den Kontext für Ihre Fragen, sodass Sie den Kontext nicht selbst im Chat angeben müssen. Weitere Informationen finden Sie unter Debuggen mit Copilot.
Freigeben einer Debugsitzung mit Live Share
Aus der Ausnahmen-Hilfe können Sie eine Live Share-Sitzung mit dem Link Live Share-Sitzung starten... beginnen. Jeder, der der Live Share-Sitzung beitritt, kann die Ausnahmen-Hilfe zusammen mit anderen Debuginformationen sehen.