Udostępnij za pośrednictwem


Korzystanie z okna zadań

Zadania podobny okna wątki okna, z tym że przedstawia informacje o Task, task_handle, lub WinJS.Promise obiektów, a nie do każdego wątku.Podobnie jak wątki zadania reprezentują operacji asynchronicznych, które można uruchomić jednocześnie; Jednak wiele zadań może działać w tym samym wątku.Zobacz asynchronicznego programowania w języku JavaScript (aplikacji ze Sklepu Windows) uzyskać więcej informacji.

W kodzie zarządzanym, można użyć zadania okna podczas pracy z Task obiektów lub z await i asynchronicznego słowa kluczowe (Await i asynchronicznego w języka Visual Basic).Aby uzyskać więcej informacji na temat zadań w kodzie zarządzanym, zobacz Programowanie równoległe w .NET Framework.

W kodu macierzystego, można użyć zadania okna podczas pracy z zadań grup, równoległe algorytmów, asynchroniczne agentów, i niewielki zadania.Aby uzyskać więcej informacji o zadaniach z kodem macierzystym, zobacz Współbieżność środowiska wykonawczego.

W języku JavaScript można użyć w oknie zadania podczas pracy z kodem .i zapasów.

Można użyć zadania okna zawsze, gdy podzielić debugera.Można do niego dostęp w Debugowanie menu klikając Windows a następnie klikając polecenie zadania.Na poniższej ilustracji pokazano zadania okna w trybie domyślny.

Okno zadań równoległych

[!UWAGA]

W kodzie zarządzanym Task ma stan Created, WaitingForActivation, lub WaitingToRun mogą nie być wyświetlane w oknie zadania w przypadku zarządzanych wątków w stanie uśpienia lub sprzężenia.

Informacje o zadaniach w kolumnie

Kolumn w zadania okna zawierają następujące informacje.

Nazwa kolumny

Opis

Flagi

Pokazuje, które zadania są oflagowany i umożliwia flaga lub unflag zadania.

Ikony

Żółty Strzałka wskazuje bieżącego zadania.Bieżące zadanie jest zadanie wierzchu w bieżącym wątku.

Biała strzałka wskazuje zadanie podziału, oznacza to, że konto, z którego została bieżącego debuger została wywołana.

Ikona pause wskazuje zadanie, które zostało zablokowane przez użytkownika.Możesz Zablokuj i Odblokuj zadanie, klikając prawym przyciskiem myszy na liście.

Identyfikator

Liczba dostarczonych przez system dla zadania.W kodzie macierzystym jest to adres zadania.

Stan

Bieżący stan (zaplanowanej, aktywnej, zakleszczenia, oczekujące lub ukończone) zadania.Zaplanowane zadania jest jeszcze nie zostało uruchomione i dlatego nie ma jeszcze stos wywołań, przypisane wątku lub informacji pokrewnych.

Aktywne zadanie jest taki, który został wykonywanie kodu przed przerwaniem debugera.

Zadanie oczekiwania jest taki, który jest zablokowany, ponieważ oczekuje na zdarzenie, aby być sygnalizowane, do zwolnienia blokady lub innego zadania, aby zakończyć.

Zadanie zakleszczenia jest zadanie oczekiwania wątku, którego jest zakleszczone przez inny wątek.

Aktywuj Stan komórki dla zakleszczenia lub oczekujące zadanie, aby zobaczyć więcej informacji na temat bloku.

Informacje dotyczące przestrogiPrzestroga

Zadania okno Raporty zakleszczenie tylko w przypadku zablokowanych zadanie, które używa typu pierwotnego synchronizacji, który jest obsługiwany przez przechodzenie łańcucha oczekiwania (WCT).Na przykład w przypadku zakleszczenia Task obiekt, który używa WCT, debuger raporty zakleszczone oczekiwania.W przypadku zakleszczenia zadanie, które jest zarządzany przez środowisko uruchomieniowe współbieżności, które nie są używane WCT, raport debuger oczekiwania.Aby uzyskać więcej informacji na temat WCT, zobacz oczekiwania przechodzenie łańcucha.

Czas rozpoczęcia

Czas, w którym zadanie stały się aktywne.

Czas trwania

Liczba sekund, przez jaką zadanie była aktywna.

Godzina ukończenia

Czas, w którym zadanie ukończone.

Lokalizacja

Bieżąca lokalizacja w stosie wywołań zadania.Aktywuj tej komórki, aby zobaczyć stos wywołań całego zadania.Zaplanowane zadania nie mają wartości z tej kolumny.

Zadanie

Metoda początkowej i argumenty przekazane do zadania, gdy został on utworzony.

Nadrzędny

Identyfikator zadania, który utworzył to zadanie.Jeśli to pole jest puste, zadanie nie ma nadrzędnego.Dotyczy to tylko dla programów zarządzanych.

Wątek przypisania

Identyfikator i nazwa wątku, na którym działa zadanie.

Status powrotu

Stan zadania po jego ukończeniu.Stan zwrotu wartości są Powodzenie, odwołania, i Błąd.

Domena aplikacji

Dla kodu zarządzanego, domena aplikacji, w którym zadanie jest wykonywana.

task_group

Dla kodu macierzystego, adres task_group obiektu zaplanowane zadania.Asynchroniczne agentów i niewielki zadań ta kolumna jest równa 0.

Proces

Identyfikator procesu zadania jest uruchomiona na.

Stan asynchroniczne

Dla kodu zarządzanego, stan zadania.Domyślnie ta kolumna jest ukryta.Aby wyświetlić w tej kolumnie, otwórz menu kontekstowe jednego z nagłówków kolumn.Wybierz kolumn, asyncstate interfejsie.

Klikając prawym przyciskiem myszy nagłówek kolumny, a następnie wybierając kolumny, które mają można dodać kolumny do widoku.(Usunąć kolumn, usuwając wybrane elementy). Można również zmienić kolejność kolumn, przeciągając je w lewo lub w prawo.Menu skrótów kolumny pokazano na poniższej ilustracji.

Skrót menu Widok w oknie zadania równoległe

Sortowanie zadań

Aby posortować zadania według kolumny kryteria, kliknij nagłówek kolumny.Na przykład, klikając identyfikator nagłówka kolumny można sortować zadania przez identyfikator zadania: 1,2,3,4,5 i tak dalej.Aby zmienić kolejność sortowania, kliknij ponownie nagłówek kolumny.Bieżące kolumny i sortowania kolejność sortowania jest oznaczony za pomocą strzałki w kolumnie.

Grupowanie zadania

Można grupować w oparciu o dowolnej kolumny w widoku listy zadań.Na przykład, klikając prawym przyciskiem myszy Stan nagłówek kolumny, a następnie klikając polecenie Grupuj według stanu, można grupować wszystkie zadania, które mają taki sam status.Na przykład można szybko zobaczysz oczekiwania zadania, aby można skupić się na dlaczego są blokowane.Można również zwinąć grupy, która nie jest przedmiotem zainteresowania podczas sesji debugowania.W ten sam sposób można grupować przez innych kolumn.Grupa może być (małe) oflagowany po prostu, klikając przycisk obok nagłówka grupy.Na poniższej ilustracji pokazano zadania okna w trybie zgrupowane.

Tryb zgrupowane w oknie zadania równoległe

Widok podrzędny nadrzędnego

(W tym widoku jest dostępna tylko w przypadku kodu zarządzanego). Prawym przyciskiem myszy nagłówek kolumny, a następnie klikając polecenie Widok podrzędny nadrzędnego, możesz zmienić na liście zadań do widoku hierarchicznym, w których każdy podrzędny zadanie jest węzeł podrzędny, który można wyświetlić lub ukryć nadrzędnej.Poniższa ilustracja pokazuje zadań w widoku nadrzędny podrzędny.

Widok nadrzędnymi i podrzędnymi w oknie zadania równoległe

Zadania flagami

Oflaguj, wątek uruchomienie zadania od wybrania poniżej zadania zadanie lista elementów, a następnie wybierając Flaga z menu kontekstowego, lub kliknij ikonę flagi w pierwszej kolumnie.Jeśli flaga kilka zadań, następnie można posortować kolumny flagi do Przenieś wszystkie zadania oflagowany do góry, dzięki czemu można skupić się tylko na ich.Można również użyć stosów równoległych okna, aby wyświetlić tylko oflagowany zadania.Pozwala to odfiltrować zadania, które nie są zainteresowani na potrzeby debugowania.Flagi nie są utrwalane między sesjami debugowania.

Blokowanie i odblokowania zadania

Można zablokować wątku, na którym działa zadanie prawym przyciskiem myszy element listy zadań, a następnie klikając polecenie Zablokuj wątek przypisane.(Jeśli zadanie jest już zablokowany, polecenie jest odblokowania przypisane wątku.) Jeśli zablokowanie wątku, że wątek nie zostanie uruchomiona podczas przechodzenia do kolejnych kodu po bieżącego punktu przerwania.Zablokuj wszystkie wątki, ale ten polecenie zawiesza się wszystkie wątki, z wyjątkiem tego, który jest wykonywany w elemencie listy zadań.

Poniższa ilustracja pokazuje inne elementy menu dla każdego zadania.

Menu wątku skrótów w oknie zadania równoległe

Zobacz też

Zadania

Wskazówki: debugowanie aplikacji równoległych

Koncepcje

Współbieżność środowiska wykonawczego

Korzystanie z okna stosów równoległych

Inne zasoby

Plany rozwoju debugera

Debugowanie zarządzanego kodu

Programowanie równoległe w .NET Framework