Visa anropsstacken och använd fönstret Anropsstack i debuggern
Med hjälp av fönstret anropsstack kan du se de funktions- eller proceduranrop som för närvarande finns i stacken. Fönstret Call Stack visar i vilken ordning metoder och funktioner anropas. Anropsstacken är ett bra sätt att undersöka och förstå körningsflödet för en app.
När felsökningssymboler inte är tillgängliga för en del av en anropsstack kan Anropsstack-fönstret kanske inte visa korrekt information för den delen av anropsstacken, utan i stället:
[Frames below may be incorrect and/or missing, no symbols loaded for name.dll]
Not
De dialogrutor och menykommandon som du ser kan skilja sig från de som beskrivs här, beroende på dina aktiva inställningar eller utgåva. Om du vill ändra inställningarna väljer du Inställningar för import och export på menyn Verktyg. Se Återställ alla inställningar. Fönstret Call Stack liknar felsökningsperspektivet i vissa IDE:er som Eclipse.
Visa anropsstacken i felsökningsprogrammet
När du felsöker, välj i menyn Felsökning och sedan Windows > Anropsstack eller tryck på ctrl
+alt
+C
.
En pil identifierar stackramen där körningspekaren för närvarande finns. Som standard visas den här stackramens information i källan, Locals, Autos, Watchoch Disassembly windows. Om du vill ändra felsökningskontexten till en annan ram i stacken växla till en annan stackram.
En gul pil identifierar stackramen där körningspekaren för närvarande finns. Som standard visas den här stackramens information i källan, Locals, Autos, Watchoch Disassembly windows. Om du vill ändra felsökningskontexten till en annan ram i stacken växla till en annan stackram.
Du kan också visa stackramar för undantag i anropsstacken vid felsökning. Mer information finns i Visa anropsstacken i Undantagshjälp.
Visa icke-användarkod i fönstret Samtalsstack
Om du vill visa extern eller icke-användarkod, högerklicka i fönstret Anropsstack och välj Visa extern kod.
Om du vill visa extern eller icke-användarkod växlar du knappen Visa extern kod från verktygsfältet för anropsstacken eller högerklickar på fönstret Anropsstack och väljer Visa extern kod.
Icke-användarkod är kod som inte visas när Just My Code- är aktiverad. I hanterad kod döljs ramar av icke-användarkod som standard. Följande notation visas i stället för icke-användarkodramarna:
[<External Code>]
Växla till en annan stackram (ändra felsökningskontexten)
I fönstret Anropsstack högerklickar du på stackramen vars kod och data du vill visa.
Eller kan du dubbelklicka på en ram i fönstret Anropsstack för att växla till den ramen.
Välj Växla till ram.
En grön pil med en krokig svans visas bredvid den stackram som du har valt. Körningspekaren finns kvar i den ursprungliga ramen, som fortfarande är markerad med den gula pilen. Om du väljer Steg eller Fortsätt från menyn Felsöka fortsätter körningen i den ursprungliga ramen, inte den bildruta som du har valt.
Visa alla relaterade trådar
Tryck på knappen "Visa alla trådar" för att se alla relaterade trådar i fönstret "Parallel Stack".
Call Stack-sökning
Du kan söka efter relevanta anropsstackramar genom att skriva relevanta söktermer i sökrutan i det övre vänstra hörnet i anropsstackfönstret. De relevanta ramarna i anropsstacken markeras.
Visa källkoden för en funktion i anropsstacken
I fönstret Anropstack högerklickar du på den funktion vars källkod du vill se och väljer Gå till källkod.
Kör till en specifik funktion från Samtalsstackfönstret
I fönstret Anropsstack väljer du funktionen, högerklickar och väljer sedan Kör till markör.
Ange en brytpunkt vid slutpunkten för ett funktionsanrop
Se Ange en brytpunkt vid en anropsstackfunktion.
Visa anrop till eller från en annan tråd
Högerklicka på fönstret anropsstacken och välj Inkludera anrop till/från andra trådar.
Spåra anropsstacken visuellt
I Visual Studio Enterprise (endast) kan du visa kodkartor för anropsstacken vid felsökning.
Öppna snabbmenyn i fönstret Anropsstack. Välj Visa anropsstack på kodkartan (Ctrl + Skift + `).
Mer information finns i Kartlägg metoder på anropsstacken när du felsöker.
Visa demonteringskoden för en funktion i anropsstacken (C#, C++, Visual Basic, F#)
I fönstret Anropa Stack högerklickar du på funktionen vars demonteringskod du vill se och väljer Gå till Demontera.
Ändra den valfria information som visas
Högerklicka i fönstret Anropsstack och aktivera eller avmarkera Visa <den information du önskar>.
Autodekompilera extern .NET-kod
Från och med Visual Studio 2022 version 17.7 kan du automatisktdekompilera .NET-kod genom att dubbelklicka på extern kod i fönstret Samtalsstack. Mer information finns i Generera källkod från .NET-sammansättningar vid felsökning.
Läs in symboler för en modul (C#, C++, Visual Basic, F#)
I anropsstackfönstret kan du läsa in felsökningssymboler för kod som inte har symboler inlästa för tillfället. Dessa symboler kan vara .NET- eller systemsymboler som laddas ned från Microsofts offentliga symbolservrar eller symboler i en symbolsökväg på datorn som du felsöker.
Se Ange symbol (.pdb) och källfiler.
Läsa in symboler
I fönstret Anropsstack högerklickar du på den stackram för vilken symbolerna inte har lästs in. Ramen kommer att vara nedtonad.
Peka på Läs in symboler och välj sedan Microsoft-symbolservrar (om det är tillgängligt) eller bläddra till symbolsökvägen.
Så här anger du symbolsökvägen
I Call Stack-fönstret väljer du Symbolinställningar från snabbmenyn.
Dialogrutan Alternativ öppnas och sidan symboler visas.
Välj Symbolinställningar.
I dialogrutan Alternativ klickar du på mappikonen.
I rutan symbolfil (.pdb) visas en markör.
Ange ett katalogsökvägsnamn till symbolplatsen på datorn som du felsöker. För lokal felsökning och fjärrfelsökning är detta en sökväg på den lokala datorn.
Välj OK för att stänga dialogrutan Alternativ.