Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Radzenie sobie z wyjątkami jest typowym problemem, bez względu na technologię lub poziom wiedzy. Może to być frustrujące doświadczenie próbując zrozumieć, dlaczego wyjątki powodują problemy w twoim 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.
Wstrzymywanie wyjątku
Gdy debuger zatrzymuje się na wyjątku, ikona błędu związanego z wyjątkiem pojawia się po prawej stronie tego wiersza kodu. Pomoc do obsługi wyjątków niemodalnych pojawi się w pobliżu ikony wyjątku.
pomocnik wyjątku 
Sprawdzanie informacji o wyjątku
Możesz natychmiast odczytać typ wyjątku i komunikat wyjątku w Narzędziu Pomocnika Wyjątków oraz dowiedzieć się, czy wyjątek został rzucony, czy jest 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++, gdy natrafisz na NullReferenceException lub AccessViolation, zobaczysz informacje o analizie wartości null w Pomocniku wyjątków. Analiza jest wyświetlana jako tekst pod komunikatem o wyjątku. Na poniższej ilustracji informacje są wyświetlane jako "s miał wartość null".
Notatka
Analiza odwołania o wartości null w kodzie zarządzanym wymaga wersji 4.6.2 platformy .NET. Analiza wartości null nie jest obecnie obsługiwana w przypadku platformy uniwersalnej 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
Debugger można skonfigurować tak, aby wstrzymywał działanie, gdy zostanie zgłoszony wyjątek obecnego typu w sekcji Ustawienia wyjątków pomocnika wyjątków. Jeśli debuger jest wstrzymany przy zgłoszonym wyjątku, możesz użyć tego pola wyboru, aby wyłączyć zatrzymywanie się na tym typie wyjątku, gdy zostanie zgłoszony w przyszłości. Jeśli nie chcesz przerywać tego wyjątku po wystąpieniu tego konkretnego modułu, zaznacz pole wyboru według nazwy modułu w obszarze Z wyjątkiem sytuacji, gdy zostanie zgłoszony: w oknie ustawień wyjątku.
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 
Przejrzyj ponownie wyrzucone wyjątki
W przypadkach, gdy wyjątek został thrown, Exception Helper pokazuje stos wywołań od momentu 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 
Sprawdzanie wyjątków asynchronicznych (.NET)
Począwszy od platformy .NET 9, debuger programu Visual Studio automatycznie przerywa działanie, gdy metoda asynchronicznego zadania zgłasza wyjątek w kodzie platformy .NET Framework. Ułatwia to debugowanie kodu asynchronicznego, zwłaszcza w ASP.NET, ponieważ wyjątki są często zgłaszane w granicach asynchronicznych.
Wyświetlanie 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, takie jak automatyczna nawigacja, szybkie przełączanie się między ramkami stosu, ładowanie symboli i opcje dekompilacji, aby powrócić do kodu źródłowego, w którym zgłoszono wyjątek.
pomocnik wyjątku 
Uzyskiwanie pomocy dotyczącej sztucznej inteligencji
Jeśli masz Copilot, możesz uzyskać wsparcie AI w trakcie debugowania błędów. Wystarczy wyszukać przycisk Analizuj za pomocą narzędzia Copilot lub Zapytaj Copilot
W tych scenariuszach Copilot zna już kontekst pytań, więc nie musisz podawać kontekstu na czacie. Aby uzyskać więcej informacji, zobacz Debug with Copilot.
Jeśli Copilot chce uzyskać dostęp do kontekstu okna "Dane wyjściowe", aby pomóc w analizie problemu, w oknie czatu pojawi się monit o przyznanie tego uprawnienia. Jeśli przyznasz uprawnienie, umożliwisz Copilotowi przeprowadzenie dodatkowej analizy wyjątku na podstawie szczegółów działania środowiska uruchomieniowego. Pomocnik wyjątków, analiza zmiennych, inspekcja kodu i inne scenariusze debugowania uzyskują dostęp do tego kontekstu dla bieżącej sesji debugowania.
Skorzystaj z pomocy AI w kontekście repo
Podczas pracy w programie Visual Studio z repozytorium Usługi Azure DevOps analiza wyjątków w narzędziu Copilot obejmuje kontekst repozytorium w celu inteligentniejszego, szybszego i dokładniejszego rozwiązania wyjątków. Copilot odwołuje się do otwartego repozytorium, w tym przeszłych usterek, problemów, żądań ściągnięcia i historycznych poprawek w celu zapewnienia możliwych do zastosowania spostrzeżeń bezpośrednio dotyczących twojego kodu.
W przypadku wystąpienia wyjątku:
- Copilot identyfikuje najbardziej prawdopodobne główne przyczyny, składniki, których dotyczy problem i potencjalne poprawki.
- Copilot wykorzystuje wiedzę repozytorium, aby wyróżnić podobne problemy i ich rozwiązania, pomagając ci uczyć się na bazie istniejących poprawek.
- Złożone wyjątki są analizowane przy użyciu pełnego kontekstu, łączenia zachowania środowiska uruchomieniowego z wzorcami historycznymi, dzięki czemu można szybko zrozumieć nieoczekiwane lub nieprawidłowe wartości.
- Dostarczając automatycznie odpowiednie poprawki i szczegółowe informacje, Copilot oszczędza czas i redukuje potrzebę prób i błędów często niezbędnych do debugowania trudnych problemów.
Udostępnianie sesji debugowania za pomocą usługi Live Share
W Pomocniku wyjątków możesz rozpocząć 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 debugowowania.