Kontrola výjimky pomocí pomocné rutiny 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í prostředí, které zjišťuje, 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 přeruší na výjimce, zobrazí se napravo od tohoto řádku kódu ikona chyby výjimky. U ikony výjimky se zobrazí pomocník pro nemodální výjimku.
Kontrola informací o výjimce
V pomocné rutině 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áná nebo neošetřená. Vlastnosti objektu Výjimky můžete zkontrolovat a zobrazit kliknutím na odkaz Podrobnosti zobrazení.
Analýza odkazů null
Počínaje sadou Visual Studio 2017 pro kód .NET i C/C++ se při dosažení NullReferenceException
nebo an AccessViolation
zobrazí informace o analýze hodnoty null v pomocné rutině výjimky. Analýza se zobrazí jako text pod zprávou o výjimce. Na obrázku níže se informace zobrazují jako "s was 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í platforma Windows (UPW) a žádné jiné aplikace .NET Core. Je k dispozici pouze při ladění kódu, který nemá žádné optimalizace kódu ZA běhu (JIT).
Konfigurace nastavení výjimek
Ladicí program můžete nakonfigurovat tak, aby se přerušil, pokud je vyvolána výjimka aktuálního typu z části Nastavení výjimek pomocníka 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 Kromě případů, kdy je vyvolána z: 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é rutině 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í.
Kontrola výjimek opakování
V případech, kdy byla thrown
výjimka pomocníkem výjimky, zobrazí zásobník volání od prvního vyvolání výjimky. Pokud byla výjimka vyvolán vícekrát, zobrazí se pouze zásobník volání z původní výjimky.
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í
Počínaje sadou Visual Studio 2022 verze 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.
Získání pomoci s AI
Pokud máte Copilot, můžete získat pomoc s AI při ladění výjimek. Stačí vyhledat tlačítko Zeptat se zkopírovaného objektu. 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í pomocí Copilotu.
Sdílení ladicí relace 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í.