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.
[!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.
|
||
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.
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.
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.
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.
Zobacz też
Zadania
Wskazówki: debugowanie aplikacji równoległych
Koncepcje
Współbieżność środowiska wykonawczego
Korzystanie z okna stosów równoległych