Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Fönstret Uppgifter liknar fönstret Trådar, förutom att det visar information om asynkrona uppgifter som skapats med hjälp av mönstret async/await, även kallat det aktivitetsbaserade asynkrona mönstret (TAP) i stället för trådbaserad information. Precis som trådar representerar uppgifter asynkrona åtgärder som kan köras samtidigt. Flera uppgifter kan dock köras i samma tråd.
I .NET-kod kan du använda fönstret Uppgifter när du arbetar med appar med mönstret async/await (Await och Async i VisualBasic). Vyn Uppgifter i fönstret Parallella staplar är dock ofta mer användbar för felsökning av asynkrona program. Mer information finns i Felsöka ett asynkront program.
I .NET-kod kan du använda fönstret Uppgifter när du arbetar med appar med mönstret async/await (Await och Async i VisualBasic). Vyn Uppgifter i fönstret Parallella staplar är dock ofta mer användbar för felsökning av asynkrona program. För mer information, se Visa trådar och aktiviteter i fönstret Parallella staplar.
Tips/Råd
För C/C++-kod använder du vyn Trådar i fönstret Parallella staplar när du behöver felsöka aktivitetsgrupper, parallella algoritmer, asynkrona agenter och enkla uppgifter. För mer information, se Visa trådar och aktiviteter i fönstret Parallella staplar.
Du kan använda fönstret Uppgifter när du bryter dig in i felsökningsprogrammet. Du kan komma åt den på Debug-menyn genom att klicka på Windows och sedan på Aktiviteter. Följande bild visar fönstret Uppgifter i standardläge.
Anmärkning
I hanterad kod kanske en Task som har statusen TaskStatus.Created, TaskStatus.WaitingForActivation eller TaskStatus.WaitingToRun kanske inte visas i fönstret Uppgifter när hanterade trådar är i viloläge eller kopplingstillstånd.
Information om aktiviteterskolumn
Kolumnerna i fönstret Uppgifter visar följande information.
| Kolumnnamn | Beskrivning |
|---|---|
| Flaggor | Visar vilka aktiviteter som flaggas och låter dig flagga eller ta bort en uppgift. |
| ikoner |
|
| ID | Ett systemgenererat nummer för uppgiften. I intern kod är det här aktivitetens adress. |
| Status | Det aktuella tillståndet (schemalagt, aktivt, blockerat, låst, väntar eller slutfört) för uppgiften. Hovra över statuscellen för att se mer information om blocket. Varning: Fönstret Uppgifter rapporterar endast dödläge för en blockerad uppgift som använder en synkroniseringsprimär som stöds av Wait Chain Traversal (WCT). Till exempel, för ett objekt i dödläge Task, som använder WCT, rapporterar felsökningsprogrammet Väntar i dödläge. För en låst uppgift som hanteras av Concurrency Runtime, som inte använder WCT, rapporterar felsökningsprogrammet Väntar. Mer information om WCT finns i Genomgång av väntekedja. |
| Starttid | Den tid då uppgiften blev aktiv. |
| Varaktighet | Antalet sekunder som aktiviteten har varit aktiv. |
| Slutförandetid | Tidpunkt då aktiviteten slutfördes. |
| Läge | Den aktuella platsen i aktivitetens anropsstack. För muspekaren över den här cellen för att se hela anropsstacken för uppgiften. Schemalagda aktiviteter har inget värde i den här kolumnen. |
| Uppgift | Den första metoden och eventuella argument som skickades till aktiviteten när den skapades. |
| AsyncState | För hanterad kod, aktivitetsstatus. Som standard är den här kolumnen dold. Om du vill visa den här kolumnen öppnar du snabbmenyn för en av kolumnrubrikerna. Välj Kolumner, AsyncState. |
| Förälder | ID för uppgiften som skapade den här uppgiften. Om det här är tomt har aktiviteten ingen överordnad uppgift. Detta gäller endast för hanterade program. |
| Trådtilldelning | ID:t och namnet på den tråd som aktiviteten körs på. |
| AppDomain | För hanterad kod, programdomänen där uppgiften körs. |
| task_group | För intern kod är adressen till det task_group objekt som schemalagt uppgiften. För asynkrona agenter och lätta uppgifter är den här kolumnen inställd på 0. |
| Bearbeta | ID:t för den process som aktiviteten körs på. |
Du kan lägga till kolumner i vyn genom att högerklicka på en kolumnrubrik och sedan välja de kolumner du vill använda. (Ta bort kolumner genom att rensa markeringen.) Du kan också ordna om kolumner genom att dra dem åt vänster eller höger. Snabbmenyn för kolumner visas i följande bild.
Sorteringsuppgifter
Om du vill sortera aktiviteter efter kolumnvillkor klickar du på kolumnrubriken. Genom att till exempel klicka på kolumnrubriken ID kan du sortera aktiviteterna efter aktivitets-ID: 1,2,3,4,5 och så vidare. Om du vill ändra sorteringsordningen klickar du på kolumnrubriken igen. Den aktuella sorteringskolumnen och sorteringsordningen indikeras med en pil på kolumnen.
Grupperingsuppgifter
Du kan gruppera aktiviteter baserat på valfri kolumn i listvyn. Genom att till exempel högerklicka på kolumnrubriken Status och sedan klicka på Gruppera>efter[status], kan du gruppera alla aktiviteter som har samma status. Du kan till exempel snabbt se väntande uppgifter så att du kan fokusera på varför de blockeras. Du kan också komprimera en grupp som inte är av intresse under felsökningssessionen. På samma sätt kan du gruppera efter de andra kolumnerna. En grupp kan (av)flaggas bara genom att klicka på knappen bredvid grupprubriken. Följande bild visar fönstret Uppgifter i grupperat läge.
Föräldra- och barnvy
(Den här vyn är endast tillgänglig för hanterad kod.) Genom att högerklicka på kolumnrubriken Status och sedan klicka på Gruppera> efteröverordnad kan du ändra listan över aktiviteter till en hierarkisk vy, där varje underordnad uppgift är en undernod som kan visas eller döljas under dess överordnade.
Markera uppgifter
Du kan flagga tråden för den uppgift som en uppgift körs på genom att välja uppgiftsobjektet och sedan välja Flagga tilldelad tråd på kontextmenyn, eller genom att klicka på flaggikonen i den första kolumnen. Om du flaggar flera aktiviteter kan du sedan sortera på flaggkolumnen så att alla flaggade aktiviteter hamnar överst så att du bara kan fokusera på dem. Du kan också använda fönstret Parallella staplar för att endast visa flaggade uppgifter. På så sätt kan du filtrera bort uppgifter som du inte är intresserad av för felsökning. Flaggor sparas inte mellan felsökningssessioner.
Frysnings- och upptiningsuppgifter
Du kan låsa tråden där en aktivitet körs genom att högerklicka på uppgiftslistobjektet och sedan klicka på Lås tilldelad tråd. (Om en uppgift redan är låst är kommandot Thaw Assigned Thread.) När du låser en tråd körs inte den tråden när du går igenom kod efter den aktuella brytpunkten. Kommandot Freeze All Threads But This One (Lås alla trådar men den här ) låser alla trådar utom den som kör uppgiftslistobjektet.
Följande bild visar de andra menyalternativen för varje uppgift.
Växla aktiv uppgift eller fönster
Kommandot Växla till uppgift gör den aktuella aktiviteten till den aktiva aktiviteten. Kommandot Växla till ram gör den markerade stackramen till den aktiva stackramen. Felsökningskontexten växlar till den aktuella aktiviteten eller den valda stackramen.