Dela via


Visa trådar och uppgifter i fönstret Parallella staplar (C#, Visual Basic, C++)

Fönstret Parallella staplar är användbart för felsökning av flertrådade program. Den har flera perspektiv:

Använd fönstret Parallella staplar

För att öppna fönstret Parallella staplar måste du vara i en felsökningssession. Välj Felsöka>Windows>Parallella staplar.

Verktygsfältskontroller

Fönstret Parallella staplar har följande verktygsfältskontroller:

Skärmbild av verktygsfältet i fönstret Parallella Staplar.

Ikon Kontroll Beskrivning
kombinationsruta Trådar/Uppgifter Trådar/Uppgifter kombinationsruta Växlar vyn mellan anropsstackar med trådar och anropsstackar med uppgifter. Mer information finns i Uppgifter-vyn och Trådar-vyn.
Visa endast flaggad ikon Visa endast flaggade Visar endast anropsstackar för trådar som flaggas i andra felsökningsfönster, till exempel GPU-trådar fönster och fönstret Parallel Watch.
Växla metodvy-ikon Växla Vy för metod Växlar mellan anropsstacksvyer och metodvy. Mer information finns i Metodvy.
Rulla automatiskt till aktuell ikon Rulla automatiskt till aktuell stackram Autoscrolls grafen så att den aktuella stackramen visas. Den här funktionen är användbar när du ändrar den aktuella stackramen från andra fönster eller när du träffar en ny brytpunkt i stora grafer.
Växla zoomikon Växla zoomkontroll Visar eller döljer zoomkontrollen till vänster i fönstret.

Oavsett zoomkontrollens synlighet kan du också zooma genom att trycka på Ctrl och vrida mushjulet, eller genom att trycka på Ctrl+Skift++ för att zooma in och Ctrl+Skift+- för att zooma ut.

Skärmbild av verktygsfältet i fönstret Parallella staplar 2022.

Ikon Kontroll Beskrivning
kombinationsrutan kombinationsrutan Trådar/uppgifter Trådar/Uppgifter kombinationsrutan Växlar vyn mellan anropsstackar med trådar och anropsstackar med uppgifter. För mer information, se vyn Uppgifter och vyn Trådar.
filterikon Filter Kontroll Visar endast anropsstackar för den specifika uppsättning trådar som du är intresserad av.
Visa endast flaggad ikon Visa endast flaggade Visar endast anropsstackar för trådar som flaggas i andra felsökningsfönster, till exempel GPU-trådar fönster och fönstret Parallel Watch.
växla metodvy ikonen Växla metodvy Växlar mellan vyerna för anropsstacken och metodvyn . Mer information finns i Metodvy.
Rulla automatiskt till aktuell ikon Rulla automatiskt till aktuell stackram Rullar automatiskt grafen så att den aktuella stackramen är synlig. Den här funktionen är användbar när du ändrar den aktuella stackramen från andra fönster eller när du träffar en ny brytpunkt i stora grafer.
Växla zoomikon Växla zoomkontroll Visar eller döljer zoomkontrollen till vänster i fönstret.

Oavsett zoomkontrollens synlighet kan du också zooma genom att trycka på Ctrl och vrida mushjulet, eller genom att trycka på Ctrl+Skift++ för att zooma in och Ctrl+Skift+- för att zooma ut.
sökikonen Sökkontroll Med den här funktionen kan du enkelt söka igenom stackramar och sedan använda pilar för att navigera mellan dessa resultat.
Spara-ikonen Spara kontroll Gör att du kan spara/exportera innehållet från det parallella stackfönstret som en bild.
ikon för extern kod Visa extern kodkontroll Med den här funktionen kan du visa/dölja staplarna från den externa koden/biblioteken.

Stack Frame-ikoner

Följande ikoner innehåller information om aktiva och aktuella stackramar i alla vyer:

Ikon Beskrivning
gul pil Anger den aktuella platsen (aktiv stackram) för den aktuella tråden.
Trådar-ikonen Anger den aktuella platsen (aktiv stackram) för en icke-aktuell tråd.
grön pil Anger den aktuella stackramen (den aktuella felsökningskontexten). Metodnamnet är fetstil oavsett var det visas.
Ikon Beskrivning
gul pil Anger den aktuella platsen (aktiv stackram) för den aktuella tråden.
Ikon för Trådar Anger den aktuella platsen (aktiv stackram) för en icke-aktuell tråd.
grön pil Anger den aktuella stackramen (den aktuella felsökningskontexten). Metodnamnet är fetstil oavsett var det visas.
Statusfel Anger att den aktuella stackramen har varning om kritisk status, till exempel Deadlock.
Status Exkluderad Anger noden i dödläge.
Statusinformation Anger att den aktuella stackramen har ytterligare information, till exempel Väntar på, Väntar på lås, ägs av osv.
status: blockerad Anger att den aktuella aktiviteten är i blockerat/väntande tillstånd osv.
Status Körs Anger den uppgift som körs just nu.

Snabbmenyobjekt

Följande snabbmenyobjekt är tillgängliga när du högerklickar på en metod i Trådar vy eller Uppgifter vy. De sista sex objekten är desamma som i fönstret anropsstack.

Skärmbild av snabbmenyn i fönstret Parallella Staplar.

Menyalternativ Beskrivning
Flagga Flaggar det markerade objektet.
Avmarkera Avmarkerar det valda objektet.
Frysa Låser det markerade objektet.
Thaw Tinar upp det markerade objektet.
växla till ram Samma som motsvarande menykommando i fönstret Anropsstack. Men i fönstret Parallella staplar kan en metod finnas i flera bildrutor. Du kan välja den ram som du vill använda i undermenyn för det här objektet. Om en av stackramarna finns i den aktuella tråden väljs den ramen som standard i undermenyn.
Gå till Aktivitet eller Gå till tråd Växlar till aktivitet eller trådar vy och håller samma stackram markerad.
gå till källkoden Går till motsvarande plats i källkodsfönstret.
Gå till Demontering Går till motsvarande plats i fönstret Disassembly.
Visa extern kod Visar eller döljer extern kod.
Hexadecimalt display Växlar mellan decimal och hexadecimal visning.
Visa trådar i källa Flaggar platsen för tråden i källkodsfönstret.
Symbolinläsningsinformation Öppnar dialogrutan för symbolinläsningsinformation.
Symbolinställningar Öppnar dialogrutan Symbolinställningar.

Skärmbild av snabbmenyn i fönstret Parallel Stacks 2022.

Menyobjekt Beskrivning
Kopiera Kopiera det markerade objektet.
Markera alla rutor nedan Markerar alla ramar under den valda stacken.
Flagga Flaggar det markerade objektet.
Avmarkera Tar bort flaggningen från det markerade objektet.
Frys Låser det markerade objektet.
Tinar upp det markerade objektet.
växla till ram Samma som motsvarande menykommando i fönstret anropsstacken. Men i fönstret Parallella staplar kan en metod finnas i flera bildrutor. Du kan välja den ram som du vill använda i undermenyn för det här objektet. Om en av stackramarna finns i den aktuella tråden väljs den ramen som standard i undermenyn.
Gå till Aktivitet eller Gå till tråd Växlar till uppgift eller trådar-vy och håller samma stackram markerad.
gå till källkoden Går till motsvarande plats i källkodsfönstret.
gå till nedmontering Går till motsvarande plats i fönstret Disassembly.
Visa extern kod Visar eller döljer extern kod.
Hexadecimal skärm Växlar mellan decimal och hexadecimal visning.
Visa trådar i källa Flaggar platsen för tråden i källkodsfönstret.
Information om symbolbelastning Öppnar dialogrutan för , symbolinläsningsinformation,.
Symbolinställningar Öppnar dialogrutan Symbolinställningar.

Trådvy

I vyn Trådar markeras stackram och anropsväg för den aktuella tråden med blå färg. Trådens aktuella plats visas med den gula pilen.

Om du vill ändra den aktuella stackramen dubbelklickar du på en annan metod. Detta kan också växla den aktuella tråden, beroende på om den metod du väljer är en del av den aktuella tråden eller en annan tråd.

När grafen för Trådar är för stor för att passa in i fönstret, visas en kontrollpanel för Fågelperspektiv i fönstret. Du kan flytta ramen i kontrollen för att navigera till olika delar av diagrammet.

Följande bild visar en tråd som går från Main till en övergång mellan hanterad och intern kod. Sex trådar finns i den aktuella metoden. Två trådar fortsätter till Thread.Sleep och två fortsätter till Console.WriteLine och den aktuella tråden fortsätter till SyncTextWriter.WriteLine.

Skärmbild av Trådarvy i fönstret Parallella staplar.

I följande tabell beskrivs huvudfunktionerna i vyn Trådar:

Callout Elementnamn Beskrivning
1 Del av anropsstack eller nod Innehåller en serie metoder för en eller flera trådar. Om ramen inte har några pillinjer visar ramen hela anropssökvägen för tråd(en).
2 Blå markering Anger anropssökvägen för den aktuella tråden.
3 Pilinjer Anslut noder för att skapa hela anropssökvägen för trådarna.
4 Nodrubrik Visar antalet processer och trådar för noden.
5 Metod Representerar en eller flera stackramar i samma metod.
6 Knappbeskrivning för metod Visas när du för muspekaren över en metod. I vy Trådar visar verktygstipset alla trådar i en tabell som liknar fönstret Trådar.

Följande bild visar huvudtråden i en övergång mellan hanterad och intern kod. Fem trådar finns i den aktuella metoden. Fyra trådar fortsätter att köras i S.C-metodkontexten, medan en arbetstråd fortsätter i en övergång mellan hanterad till intern kod och anger namnet på en arbetstråd.

En skärmbild av trådvyn i fönstret Parallella staplar 2022.

Följande tabell beskriver huvudfunktionerna i Trådar-vyn:

Callout Elementnamn Beskrivning
1 Anropsstacksegment eller nod Innehåller en serie metoder för en eller flera trådar. Om ramen inte har några kopplade pil-linjer visar ramen hela anropssökvägen för tråd(ar).
2 Blå markering Anger anropssökvägen för den aktuella tråden.
3 Pillinjer Anslut noder för att skapa hela anropssökvägen för trådarna.
4 Nodrubrik Visar antalet processer/trådar, trådnamn och tråd-ID för noden.
5 Metod Representerar en eller flera stackramar inom samma metod.
6 Knappbeskrivning för metod Visar när du för pekaren över en metod. I Trådar-vyn visar verktygstipset alla trådar i en tabell som liknar den i Trådar-fönstret.
7 Trådbeskrivning AI-genererad beskrivning av tråden. Från och med Visual Studio 2022 version 17.13 Förhandsversion 1 finns den här beskrivningen när Copilot installeras och aktiveras.

Uppgiftsvy

Om appen använder System.Threading.Tasks.Task objekt (hanterad kod) eller task_handle objekt (intern kod) för att uttrycka parallellitet kan du använda Uppgifter vy. Uppgifter vyn visar anropsstackar med uppgifter i stället för trådar.

I vyn Uppgifter:

  • Anropsstackar med trådar som inte utför några uppgifter visas inte.
  • Anropsstackar med trådar som kör uppgifter trimmas visuellt överst och längst ned för att visa de mest relevanta ramarna för aktiviteter.
  • När flera uppgifter finns i en tråd visas anropsstackarna för dessa uppgifter i separata noder.

Om du vill se en hel anropsstack växlar du tillbaka till Trådar genom att högerklicka i en stackram och välja Gå till Tråd.

Följande bild visar vyn Trådar överst och motsvarande Uppgifter vy längst ned.

Skärmbild av vyerna Trådar och Uppgifter.

Hovra över en metod för att visa en knappbeskrivning med ytterligare information. I vyn Uppgifter visar knappbeskrivningen alla aktiviteter i en tabell som liknar fönstret Uppgifter.

Följande bild visar knappbeskrivningen för en metod i vyn Trådar överst och för motsvarande Uppgifter vy längst ned.

Skärmbild av verktygstips för trådar och uppgifter.

Metodvy

Från antingen vyn Trådar eller vyn Uppgifter kan du vrida diagrammet utifrån den nuvarande metoden genom att välja ikonen Växla metodvy i verktygsfältet. Metodvy visar med en överblick alla metoder på alla trådar som antingen anropar eller anropas av den aktuella metoden. Följande bild visar hur samma information ser ut i Trådar vy till vänster och i metodvy till höger.

Om du växlar till en ny stackram gör du den metoden till den aktuella metoden och Metodvy visar alla anropare och mottagare för den nya metoden. Detta kan leda till att vissa trådar visas eller försvinner från vyn, beroende på om metoden visas på deras anropsstackar. Om du vill återgå till anropsstacken väljer du ikonen metodvy verktygsfält igen.

Självstudie om felsökning av trådar och uppgifter med parallella staplar

De här videokurserna visar hur du kan använda vyerna Trådar och uppgifter i fönstret Parallella staplar i Visual Studio 2022 för att felsöka dina flertrådade program.