Sprawdzanie wyjątku przy użyciu pomocnika wyjątków

Radzenie sobie z wyjątkami jest typowym problemem, bez względu na technologię lub poziom wiedzy. Może to być frustrujące środowisko dowiedzieć się, dlaczego wyjątki powodują problemy w kodzie. Podczas debugowania wyjątku w programie Visual Studio chcemy zmniejszyć tę frustrację, udostępniając odpowiednie informacje o wyjątkach, aby ułatwić szybsze debugowanie problemu.

Pomocnik wyjątków

Wstrzymywanie wyjątku

Gdy debuger przerywa wyjątek, ikona błędu wyjątku pojawia się po prawej stronie tego wiersza kodu. Pomocnik wyjątku niemodalnego pojawi się w pobliżu ikony wyjątku.

Pomocnik wyjątku obok wiersza kodu

Sprawdzanie informacji o wyjątku

Możesz natychmiast odczytać komunikat o typie wyjątku i wyjątku w pomocniku wyjątku oraz informację o tym, czy wyjątek został zgłoszony, czy nieobsługiwany. Właściwości obiektu Exception można sprawdzić i wyświetlić, klikając link Wyświetl szczegóły .

Analizowanie odwołań o wartości null

Począwszy od programu Visual Studio 2017, zarówno dla kodu .NET, jak i C/C++, po osiągnięciu NullReferenceException wartości lub AccessViolationw pomocniku wyjątków są wyświetlane informacje o analizie null. Analiza jest wyświetlana jako tekst pod komunikatem o wyjątku. Na poniższej ilustracji informacje są wyświetlane jako "s was null".

Analiza wartości null pomocnika wyjątku

Uwaga

Analiza odwołania o wartości null w kodzie zarządzanym wymaga platformy .NET w wersji 4.6.2. Analiza wartości null nie jest obecnie obsługiwana w przypadku platforma uniwersalna systemu Windows (UWP) i innych aplikacji platformy .NET Core. Jest on dostępny tylko podczas debugowania kodu, który nie ma żadnych optymalizacji kodu just in time (JIT).

Konfigurowanie ustawień wyjątków

Debuger można skonfigurować tak, aby przerwał działanie, gdy wyjątek bieżącego typu zostanie zgłoszony z sekcji Wyjątek Ustawienia Pomocnika wyjątków. Jeśli debuger jest wstrzymany przy zgłoszonym wyjątku, możesz użyć tego pola wyboru, aby wyłączyć niezgodność dla tego typu wyjątku po wystąpieniu w przyszłości. Jeśli nie chcesz przerywać tego wyjątku podczas zgłaszania w tym konkretnym module, zaznacz pole wyboru według nazwy modułu w obszarze Z wyjątkiem wyjątku: w oknie Wyjątek Ustawienia.

Sprawdzanie wyjątków wewnętrznych

Jeśli wyjątek ma jakiekolwiek wyjątki wewnętrzne (InnerException, można je wyświetlić w pomocniku wyjątków. Jeśli istnieje wiele wyjątków, możesz nawigować między nimi przy użyciu strzałek po lewej i prawej pokazanych powyżej stosu wywołań.

Pomocnik wyjątku z wyjątkiem wewnętrznym

Sprawdzanie wyjątków ponownego wrony

W przypadkach, gdy wyjątek był thrown pomocnik wyjątku pokazuje stos wywołań od pierwszego zgłoszenia wyjątku. Jeśli wyjątek został zgłoszony wiele razy, wyświetlany jest tylko stos wywołań z oryginalnego wyjątku.

Pomocnik wyjątków z wyjątkami ponownego przesyłania

Przeglądanie stosu wywołań

Począwszy od programu Visual Studio 2022 w wersji 17.3, można wyświetlić ramki stosu wyjątków w oknie stosu wywołań. W przypadku wyjątków asynchronicznych dodaje to możliwość szybkiego ładowania symboli lub lokalizowania źródeł i przechodzenia bezpośrednio do lokacji wyjątku. Ramki stosu wyjątków w oknie stosu wywołań zapewniają standardowe funkcje stosu wywołań, takie jak automatyczna nawigacja, szybkie przełączanie między ramkami, ładowanie symboli i dekompilowanie opcji powrotu do kodu źródłowego, w którym został zgłoszony wyjątek.

Pomocnik wyjątku z stosem wywołań

Uzyskiwanie pomocy dotyczącej sztucznej inteligencji

Jeśli masz copilot, możesz uzyskać pomoc dotyczącą sztucznej inteligencji podczas debugowania wyjątków. Wystarczy wyszukać przycisk Zapytaj CopilotZrzut ekranu przedstawiający przycisk Zapytaj Copilot. . W tych scenariuszach Copilot zna już kontekst pytań, więc nie musisz podawać kontekstu na czacie. Aby uzyskać więcej informacji, zobacz Debugowanie za pomocą narzędzia Copilot.

Udostępnianie sesji debugowania za pomocą usługi Live Share

W pomocniku wyjątków możesz uruchomić sesję live share przy użyciu linku Rozpocznij sesję live share.... Każdy, kto dołącza do sesji live share, może zobaczyć pomocnika wyjątków wraz z innymi informacjami debugowania.