Freigeben über


Untersuchen einer Ausnahme mit der Ausnahmen-Hilfe

Der Umgang mit Ausnahmen ist unabhängig davon, welche Technologie Sie nutzen oder welchen Wissenstand Sie haben, ein häufiges Problem. Die Ermittlung des Grunds, warum Ausnahmen in Ihrem Code zu Problemen führen, kann ein frustrierender Prozess sein. Beim Debuggen einer Ausnahme in Visual Studio möchten wir Ihnen in diesen frustrierenden Situationen helfen, indem wir Sie mit relevanten Informationen zu Ausnahmen versorgen, damit Sie Ihr Problem schneller debuggen können.

Ausnahmen-Hilfe

Anhalten bei einer Ausnahme

Wenn der Debugger den Vorgang beim Auftreten einer Ausnahme unterbricht, wird rechts von der entsprechenden Codezeile ein Symbol für eine Ausnahme angezeigt. Neben dem Symbol für die Ausnahme wird eine nicht modale Ausnahmen-Hilfe angezeigt.

Ausnahmen-Hilfe neben einer Codezeile

Untersuchen der Informationen zur Ausnahme

Sie können den Typ und die Meldung zur Ausnahme in der Ausnahmen-Hilfe sofort ablesen, und es ist auch angegeben, ob es sich um eine ausgelöste Ausnahme oder einen Ausnahmefehler handelt. Sie können die Eigenschaften des Ausnahmeobjekts untersuchen und anzeigen, indem Sie auf den Link Details anzeigen klicken.

Analysieren von Nullverweisen

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 angegeben. In der Abbildung unten werden die Informationen als „s war NULL“ angezeigt.

Ausnahmen-Hilfe: Null-Analyse

Hinweis

Für die NULL-Referenzanalyse in verwaltetem Code ist .NET-Version 4.6.2 erforderlich. Die Null-Analyse wird für die Universelle Windows-Plattform (UWP) und andere .NET Core-Anwendungen derzeit nicht unterstützt. Sie ist nur beim Debuggen von Code verfügbar, für den keine JIT-Codeoptimierungen (Just-In-Time) vorhanden sind.

Konfigurieren von Einstellungen für Ausnahmen

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 Auslösung einer Ausnahme angehalten wird, können Sie das Anhalten über das Kontrollkästchen für den Ausnahmetyp deaktivieren, um das Verhalten bei zukünftigen Fällen entsprechend zu ändern. 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: .

Untersuchen von inneren Ausnahmen

Falls die Ausnahme über innere Ausnahmen verfügt (InnerException), können Sie diese in der Ausnahmen-Hilfe anzeigen. Wenn mehrere Ausnahmen vorhanden sind, können Sie dazwischen wechseln, indem Sie oberhalb der Aufrufliste den Pfeil nach links bzw. rechts verwenden.

Ausnahmen-Hilfe mit innerer Ausnahme

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 die Aufrufliste der ursprünglichen Ausnahme angezeigt.

Ausnahmen-Hilfe mit erneut ausgelösten Ausnahmen

Ü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. Dadurch wird das Debuggen von asynchronem Code, insbesondere in ASP.NET, erleichtert, da Ausnahmen häufig über asynchrone Grenzen hinweg ausgelöst werden.

Screenshot: Ausnahmen-Hilfe mit asynchroner Methode.

Anzeigen der Aufrufliste

Ab Visual Studio 2022 Version 17.3 können Sie Ausnahmestapelrahmen im Fenster „Aufrufliste“ anzeigen. Bei asynchronen Ausnahmen wird dadurch die Möglichkeit hinzugefügt, Symbole schnell zu laden oder Quellen zu suchen und direkt zum Standort 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.

Ausnahmehilfsprogramm mit Aufrufliste

KI-Unterstützung

Wenn Sie Copilot haben, können Sie KI-Unterstützung erhalten, während Sie Ausnahmen debuggen. Suchen Sie einfach nach der Schaltfläche Copilot fragen Screenshot der Schaltfläche Copilot fragen.. In diesen Fällen kennt Copilot bereits den Kontext für Ihre Fragen, so dass Sie den Kontext nicht selbst im Chat angeben müssen. Weitere Informationen finden Sie unter Mit Copilot debuggen.

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.