Sdílet prostřednictvím


Prozkoumání výjimky pomocí nástroje pro výjimky

Řešení výjimek je běžným problémem bez ohledu na vaši technologii nebo úroveň odborných znalostí. Může to být frustrující zkušenost, snažit se přijít na to, proč výjimky způsobují problémy ve vašem kódu. Při ladění výjimky v sadě Visual Studio chceme tuto frustraci zmenšit tím, že vám poskytneme relevantní informace o výjimce, které vám pomůžou rychleji ladit váš problém.

pomocník pro výjimky

Pozastavit na výjimce

Když se ladicí program zastaví na výjimce, zobrazí se napravo od tohoto řádku kódu ikona chyby kvůli výjimce. U ikony výjimky se zobrazí pomocník pro nemodální výjimku.

pomocník pro výjimky umístěný vedle řádku kódu

Kontrola informací o výjimce

V Pomocníku pro výjimky můžete okamžitě přečíst typ výjimky a zprávu o výjimce a informace o tom, jestli byla výjimka vyvolána nebo nezachycená. Vlastnosti objektu Exception můžete zkontrolovat a zobrazit kliknutím na odkaz Zobrazit podrobnosti.

Analýza nulových referencí

Počínaje Visual Studio 2017, pro kód .NET i C/C++, když zasáhnete NullReferenceException nebo AccessViolation, zobrazí se informace o analýze nulových hodnot v Pomocníku pro výjimky. Analýza se zobrazí jako text pod zprávou o výjimce. Na obrázku níže je informace zobrazena jako "s byly null."

pomocná rutina analýzy null výjimky

Poznámka

Analýza odkazů null ve spravovaném kódu vyžaduje .NET verze 4.6.2. Analýza null se v současné době nepodporuje pro univerzální platformu Windows (UPW) a žádné jiné aplikace .NET Core. Je k dispozici pouze při ladění kódu, který nemá žádné optimalizace kódu Just-In-Time (JIT).

Konfigurace nastavení výjimek

Ladicí program můžete nakonfigurovat tak, aby se přerušil, když je výjimka aktuálního typu, která je vyvolána z části Nastavení výjimek v Pomocníku pro výjimky. Pokud je ladicí program pozastavený na vyvolání výjimky, můžete pomocí zaškrtávacího políčka zakázat přerušení u daného typu výjimky, když je vyvolán v budoucnu. Pokud při vyvolání v tomto konkrétním modulu nechcete tuto konkrétní výjimku přerušit, zaškrtněte políčko podle názvu modulu v části S výjimkou případů, kdy je vyvolána: v okně nastavení výjimky .

Kontrola vnitřních výjimek

Pokud má výjimka jakékoli vnitřní výjimky (InnerException), můžete je zobrazit v pomocníkovi pro výjimky. Pokud existuje více výjimek, můžete mezi nimi přecházet pomocí šipek vlevo a doprava zobrazených nad zásobníkem volání.

pomocník pro práci s výjimkami s vnitřní výjimkou

Prozkoumat opět vyvolané výjimky

V případech, kdy došlo k výjimce thrown, nástroj pro práci s výjimkami zobrazí zásobník volání od chvíle, kdy byla výjimka poprvé vyvolána. Pokud byla výjimka vyvolána vícekrát, zobrazí se pouze zásobník volání z původní výjimky.

Pomocník pro výjimky s opětovným vyvoláním výjimek

Kontrola asynchronních výjimek (.NET)

Počínaje rozhraním .NET 9 ladicí program sady Visual Studio automaticky přeruší, když asynchronní metoda úlohy vyvolá výjimku v kódu rozhraní .NET Framework. To usnadňuje ladění asynchronního kódu, zejména v ASP.NET, protože výjimky jsou často vyvolány napříč asynchronními hranicemi.

snímek obrazovky nástroje pro zpracování výjimek s asynchronní metodou

Zobrazení zásobníku volání

Od verze Visual Studio 2022 17.3 můžete zobrazit rámce zásobníku výjimek v okně Zásobník volání. U asynchronních výjimek se tím přidá možnost rychle načíst symboly nebo vyhledat zdroje a přejít přímo na web výjimky. Rámce zásobníku výjimek v okně Zásobník volání poskytují standardní funkce zásobníku volání, jako je automatická navigace, rychlé přepínání mezi snímky, načtení symbolů a možnosti dekompilu pro návrat ke zdrojovému kódu, kde došlo k výjimce.

Pomocník pro výjimky se zásobníkem volání

Získání pomoci s AI

Pokud máte Copilot, můžete získat asistenci AI při ladění výjimek. Jednoduše vyhledejte tlačítko Zeptat se Copilotsnímek obrazovky tlačítka Zeptat se Copilot. tlačítko. V těchto scénářích už Copilot zná kontext vašich otázek, takže nemusíte v chatu zadávat kontext sami. Další informace naleznete v tématu Ladění s Copilot.

Sdílejte ladicí relaci s Live Share

Z pomocníka výjimky můžete spustit relaci Live Share pomocí odkazu Spustit relaci Live Share.... Každý, kdo se připojí k relaci Live Share, uvidí pomocníka výjimky spolu s dalšími informacemi o ladění.