Dela via


Kontrollera ett undantag med hjälp av undantagshjälpen

Att hantera undantag är ett vanligt problem, oavsett teknik eller expertnivå. Det kan vara frustrerande att ta reda på varför undantag orsakar problem i koden. När du felsöker ett undantag i Visual Studio vill vi minska frustrationen genom att ge dig relevant undantagsinformation som hjälper dig att felsöka problemet snabbare.

undantagshjälp

Pausa undantaget

När felsökningsprogrammet bryter mot ett undantag visas en undantagsfelikon till höger om den kodraden. En icke-modal undantagshjälp visas nära undantagsikonen.

Undantagshjälp bredvid en kodrad

Granska undantagsinformation

Du kan omedelbart läsa undantagstypen och undantagsmeddelandet i undantagshjälpen och om undantaget utlöstes eller inte. Du kan granska och visa egenskaper för undantagsobjektet genom att klicka på länken Visa information.

Analysera null-referenser

Från och med Visual Studio 2017, för både .NET- och C/C++-kod, visas nullanalysinformation i undantagshjälpen när du träffar en NullReferenceException eller en AccessViolation. Analysen visas som text under undantagsmeddelandet. I bilden nedan visas informationen som "s var null".

Undantagshjälp för null-analys

Notera

Null-referensanalys i hanterad kod kräver .NET version 4.6.2. Null-analys stöds för närvarande inte för UWP (Universal Windows Platform) och andra .NET Core-program. Den är bara tillgänglig vid felsökning av kod som inte har några JIT-kodoptimeringar (Just-In-Time).

Konfigurera undantagsinställningar

Du kan konfigurera felsökningsprogrammet så att det bryts när ett undantag av den aktuella typen genereras från avsnittet Undantagsinställningar i undantagshjälpen. Om felsökaren pausas vid ett undantagsfel som genereras kan du använda kryssrutan för att inaktivera brytning av den undantagstypen när den utlöses i framtiden. Om du inte vill bryta på det här undantaget när det kastas i den här modulen, markerar du kryssrutan bredvid modulnamnet under Förutom när det kastas från: i fönstret Undantagsinställningar.

Inspektera inre undantag

Om undantaget har några inre undantag (InnerExceptionkan du visa dem i undantagshjälpen. Om det finns flera undantag kan du navigera mellan dem med hjälp av de vänster- och högerpilar som visas ovanför anropsstacken.

Undantagshjälp med inre undantag

Inspektera återkastade undantag

I fall där ett undantag har thrown visar undantagshjälpen anropsstacken från första gången undantaget utlöstes. Om undantaget utlöstes flera gånger visas endast anropsstacken från det ursprungliga undantaget.

Undantagshjälp med omkastade undantag

Inspektera asynkrona undantag (.NET)

Från och med .NET 9 bryts Visual Studio-felsökningsprogrammet automatiskt när en asynkron aktivitetsmetod utlöser ett undantag i .NET Framework-koden. Detta gör det enklare att felsöka asynkron kod, särskilt i ASP.NET, eftersom undantag ofta genereras över asynkrona gränser.

Skärmbild av undantagshanterare med asynkron metod.

Visa anropsstacken

Från och med Visual Studio 2022 version 17.3 kan du visa undantagsstackramar i fönstret Anropsstack. För asynkrona undantag lägger detta till möjligheten att snabbt läsa in symboler eller hitta källor och gå direkt till platsen för undantaget. Undantagsstackramar i Anropsstackfönstret inbegriper standardfunktioner som automatisk navigering, snabb växling mellan stackramar, symbolinläsning, och alternativ för dekompilering för att återgå till källkoden där undantaget kastades.

undantagshjälp med

Få AI-hjälp

Om du har Copilotkan du få AI-hjälp när du felsöker undantag. Leta bara efter Fråga CopilotSkärmbild av knappen Fråga Copilot. knapp. I dessa scenarier känner Copilot redan till kontexten för dina frågor, så du behöver inte ange kontext själv i chatten. Mer information finns i Felsöka med Copilot.

Dela en felsökningssession med Live Share

Från undantagshjälpen kan du starta en Live Share-session med hjälp av länken Starta Live Share-session.... Alla som ansluter till Live Share-sessionen kan se undantagshjälpen tillsammans med annan felsökningsinformation.