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.
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
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."
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
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.
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
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 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í.