Sdílet prostřednictvím


Používání okna úloh

Úlohy okno se podobá vlákna okna, s tím rozdílem, že zobrazuje informace o Task, task_handle, nebo WinJS.Promise objekty namísto na každé vlákno.Podobně jako vlákna představují úkoly asynchronní operace, které mohou být současně spuštěny; ale více úkolů může pracovat ve stejném podprocesu.Viz asynchronní programování v jazyce JavaScript (aplikace pro Windows Store) Další informace.

Ve spravovaném kódu, můžete použít úlohy okno při práci s Task objekty nebo očekávat a asynchronní klíčová slova (Await a asynchronní v jazyka VisualBasic).Další informace o úkolech ve spravovaném kódu, viz Paralelní programování v rozhraní .NET Framework.

V nativním kódu, můžete použít úlohy okno při práci s skupiny úloh, paralelní algoritmy, asynchronní agenti, a lehké úkoly.Další informace o úkolech v nativním kódu, viz Concurrency Runtime.

V jazyce JavaScript můžete použít okno úlohy při práci s kódem .potom promise.

Můžete použít úlohy okna, kdykoliv vstoupit do ladicího programu.Je k dispozici na ladění nabídce klepnutím na Windows a klepnutím na úlohy.Následující ilustrace ukazuje úlohy okno v její výchozí režim.

Okno Paralelní úlohy

[!POZNÁMKA]

Ve spravovaném kódu Task stav, který má Created, WaitingForActivation, nebo WaitingToRun nemusí být zobrazeny v okně úkoly, když spravovaná vlákna jsou ve stavu spánku nebo spojení.

Informace o sloupci úkoly

Sloupce v úlohy okna zobrazují následující informace.

Název sloupce

Description

Příznaky

Zobrazí úkoly, které jsou označeny a umožňuje nastavit příznak nebo unflag úkolu.

Ikony

Žlutá šipka označuje aktuální úlohy.Aktuální úkol je úkol zcela nahoře v aktuálním vlákně.

Bílá šipka označuje rozdělení úkolu, který je ten, který byl aktuální při vyvolání ladicího programu.

Pozastavit ikona označuje úkol, který má byly zmrazeny uživatelem.Můžete ukotvit a uvolnit úkolu klepnutím pravým tlačítkem myši v seznamu.

ID

Pokud systém číslo úkolu.V nativním kódu to je adresa daného úkolu.

Stav

Aktuální stav (plánované, aktivní, zablokované, čekající nebo dokončených) úlohy.Naplánované úlohy je dosud nebyla spuštěna a proto ještě nemá zásobník volání, přiřazený podproces nebo související informace.

Je aktivní úkol, který byl předtím v ladicím programu provádění kódu.

Čekající úlohou je zablokován, protože čeká na signál události, uvolnění zámku nebo na dokončení jiného úkolu.

Zablokované úkol je čekající úlohou, jehož vlákna je zablokovány s jiným podprocesem.

Umístěte ukazatel myši Stav buňky zablokované nebo nečekají na úkolu, chcete-li zobrazit další informace o blokování.

Poznámka k upozorněníUpozornění

Úlohy okno sestavy zablokování pouze pro blokované úkol, který používá základní synchronizace, podporovaný čekat průchodu řetězec (WCT).Například zablokované Task objekt, který používá WCT, ladicí program hlásí čekání zablokovány.Zablokované úkolu, které je spravováno službou Concurrency Runtime nepoužívá WCT, ladicí program hlásí čekání.Další informace o smlouvách WCT, viz Průchodu řetězec čekání.

Počáteční čas

Čas, kdy stala aktivní úlohu.

Doba trvání

Počet sekund, které úkol byl aktivní.

Čas dokončení

Čas, kdy je úkol dokončen.

Umístění

Aktuální umístění v zásobníku volání daného úkolu.Podržte ukazatel nad tuto buňku zobrazte celý zásobník volání pro daný úkol.Naplánované úlohy nemají hodnotu v tomto sloupci.

Úloha

První metoda a argumentů, které byly předány k úkolu v okamžiku vytvoření.

Parent

ID úkolu vytvořeného úkolu.Pokud je toto pole prázdné, bude úkol nemá žádnou nadřazenou.To platí pouze pro spravované aplikace.

Přiřazení vlákno

ID a název vlákna, ve kterém je úloha spuštěna.

Návratový stav

Stav úkolu po jeho dokončení.Hodnoty návratový stav Úspěch, zrušení, a Při.

Domény aplikace

Pro spravovaný kód domény aplikace, ve které úlohu provádí.

task_group

Pro nativní kód, adresa task_group objekt, který je naplánován na úkol.Pro asynchronní agentů a lehké úkoly tohoto sloupce nastavena na hodnotu 0.

Proces

ID procesu úkolu je napájen.

Asynchronní státu

Pro spravovaný kód stavu úkolu.Tento sloupec je ve výchozím nastavení skrytá.Tento sloupec zobrazit, otevřete místní nabídku některého záhlaví sloupců.Zvolte sloupce, AsyncState.

Můžete přidat sloupce do zobrazení pravým tlačítkem myši na záhlaví sloupce a potom vybráním požadované sloupce. (Odebrání sloupců zrušením výběru). Můžete také změnit pořadí sloupců přetažením doleva nebo doprava.Na následujícím obrázku je zobrazen sloupec místní nabídky.

Zobrazení nabídky v okně paralelní úlohy

Řazení úkolů

Seřadit úkoly podle kritéria sloupec, klepněte na záhlaví sloupce.Například klepnutím ID záhlaví sloupce, můžete seřadit úkoly podle ID úkolu: 1,2,3,4,5 a tak dále.Chcete-li pořadí řazení obrátit, klepněte na záhlaví sloupce znovu.Aktuální pořadí sloupců a řazení řazení je označen šipkou ve sloupci.

Seskupení úkolů

Můžete seskupit úkoly podle libovolného sloupce v seznamu.Například klepnutím pravým tlačítkem myši Stav záhlaví sloupce a klepnutím na skupiny podle stavu, můžete seskupit všechny úkoly, které mají stejné postavení.Například je může rychle zjistit čekání úlohy tak, aby mohl zaměřit na Proč jsou blokovány.Také můžete sbalit skupinu, která není zájem během relace ladění.Stejným způsobem můžete seskupit podle dalších sloupců.Skupinu lze (bez znaménka) označen pouhým klepnutím na tlačítko vedle záhlaví skupiny.Následující ilustrace ukazuje úlohy okno v režimu seskupené.

Režim seskupených v okně paralelní úlohy

Nadřazeného a podřízeného prvku

(Toto zobrazení je k dispozici pro spravovaný kód pouze.) Pravým tlačítkem myši na záhlaví sloupce a potom klepnutím na Nadřazeného a podřízeného prvku, aby hierarchické zobrazení, ve které každý podřízený úkol je dílčí uzel, která může být zobrazena či skryta pod příslušnými nadřazenými položkami můžete změnit seznam úkolů.Následující ilustrace znázorňuje úkoly v zobrazení nadřazený podřízený.

Nadřazený podřízené zobrazení v okně paralelní úlohy

Označování úkolů

Příznakem můžete označit vlákno seznamu úkol, na kterém je spuštěna úloha úkol výběrem položky a výběrem příznak z kontextové nabídky nebo klepnutím na ikonu příznaku v prvním sloupci.Pokud je příznak několik úkolů, pak můžete třídit na sloupec příznaku tak, aby všechny úkoly s příznakem nahoru tak, aby se mohli zaměřit na ně.Můžete použít také Paralelní zásobníky – pro zobrazení pouze příznakem úkoly.To vám umožňuje filtrovat úkoly, které vás zajímají není pro ladění.Příznaky nejsou trvalé mezi relace ladění.

Zmrazení a rozmrazení úkoly

Můžete ukotvit vlákno, na kterém je spuštěna úloha položky seznamu úloh klepnutím pravým tlačítkem myši a následným klepnutím na Ukotvit přiřazený podproces. (Pokud je již zmrazen úkolu, je příkaz Uvolnit přiřazený podprocesu.) Při zablokování podprocesu, který spustit podproces při krokování kódu po aktuální zarážce.Ukotvit všechny podprocesy, ale tento příkaz zablokuje všechna vlákna, kromě té, která provádí položky seznamu úkolů.

Následující ilustrace znázorňuje další položky nabídky pro každý úkol.

Místní nabídky vlákna v okně paralelní úlohy

Viz také

Úkoly

Návod: Ladění paralelní aplikace

Koncepty

Concurrency Runtime

Použití okna Paralelní zásobníky

Další zdroje

Průvodce ladicím programem

Ladění spravovaného kódu

Paralelní programování v rozhraní .NET Framework