Udostępnij za pośrednictwem


Korzystanie z okna zadań

Zadania przypomina okno wątki okna, chyba że pokazywane są informacje o Task, task_handle, lub WinJS.Promise obiektów, a nie poszczególnych wątków.Jak wątki zadań reprezentują operacji asynchronicznych, które można uruchomić jednocześnie; Jednak wiele zadań może działać w tym samym wątku.Zobacz asynchroniczno Programowanie w języku JavaScript (aplikacje Sklepu Windows) uzyskać więcej informacji.

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

W kodzie macierzystym, można użyć zadania okna podczas pracy z grup zadań, Algorytmy równoległe, asynchronicznego agenci, i lekki zadania.Aby uzyskać więcej informacji na temat zadań w kodzie macierzystym, zobacz Współbieżność środowiska wykonawczego.

W języku JavaScript można użyć okna zadania podczas pracy z kodem .i firmy promise.

Można użyć zadania okna przy każdym przerwaniu do debugera.Można go otworzyć na Debug menu klikając Windows , a następnie klikając polecenie zadania.Na poniższej ilustracji przedstawiono zadania okna trybu domyślnego.

Okno zadań równoległych

[!UWAGA]

W kodzie zarządzanym Task który ma stan Created, WaitingForActivation, lub WaitingToRun nie mogą być wyświetlane w oknie zadania, gdy wątki zarządzane są w stanie uśpienia lub sprzężenia.

Informacje o zadaniach w kolumnie

Kolumn w zadania okna są wyświetlane następujące informacje.

Nazwa kolumny

Opis

Flagi

Pokazuje, które zadania są oznaczane i umożliwia flaga lub usuń flagę zadanie.

Ikony

Żółta strzałka wskazuje bieżące zadanie.Bieżące zadanie jest zadaniem wierzchni w bieżącym wątku.

Biały Strzałka wskazuje podziału zadań, czyli ten, który były aktualne w chwili debugera został wywołany.

Wstrzymaj ikona wskazuje zadanie, które zostało zamrożone przez użytkownika.Można blokowanie i odblokowywanie zadania przez kliknięcie prawym przyciskiem myszy na liście.

Identyfikator

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

Stan

Bieżący stan (zaplanowane, aktywne, zakleszczenia, oczekujące lub ukończone) zadania.Zaplanowane zadanie jest taki, który nie został jeszcze uruchomiony i w związku z tym, nie ma jeszcze stos wywołań, przypisanych wątek lub pokrewnych informacji.

Aktywne zadanie jest jeden, który był wykonywany kod przed otwarciem w debugerze.

Zadanie oczekiwania jest taki, który jest zablokowany, ponieważ oczekuje na zdarzenie, aby być informowany, zwolnienie blokady lub na zakończenie innego zadania.

Zakleszczenia zadanie jest zadaniem oczekiwania wątku, którego jest zakleszczone przez inny wątek.

Umieść wskaźnik myszy nad stanu komórki dla zadanie oczekujące lub zakleszczenia, aby zobaczyć więcej informacji na temat tego bloku.

Informacje dotyczące przestrogiPrzestroga

Zadania okno Raporty zakleszczenie tylko dla zablokowanych zadania, który używa pierwotny synchronizacji, który jest obsługiwany przez przechodzenie łańcucha oczekiwania (WCT).Na przykład dla zakleszczenia Task obiekt, który używa WCT, raporty debugera zakleszczone oczekiwania.W przypadku zakleszczenia zadanie, które jest zarządzany przez program obsługi współbieżności, który nie korzysta z WCT, raport debugera oczekiwania.Aby uzyskać więcej informacji na temat WCT, zobacz Przechodzenie łańcucha oczekiwania.

Godzina rozpoczęcia

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

Czas trwania

Liczba sekund, które zadania była aktywna.

Godzina ukończenia

Czas, w którym zadanie jest ukończone.

Lokalizacja

Bieżąca lokalizacja w stos wywołań zadania.Przesuń kursor nad tej komórki, aby zobaczyć stos wywołań całego zadania.Zaplanowane zadania nie mają wartości w tej kolumnie.

Zadanie

Metoda początkowego i argumenty, które zostały przekazane do zadania podczas jej tworzenia.

Nadrzędny

Identyfikator zadania, który utworzony tego zadania.Jeśli to pole jest puste, zadanie ma Brak elementu nadrzędnego.To dotyczy tylko dla programów zarządzanych.

Przypisanie wątku

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

Stan zwrotu

Stan zadania po jego zakończeniu.Wartości stanu zwrotu są sukcesu, odwołania, i Błąd.

Elementu AppDomain

Dla kodu zarządzanego, domena aplikacji, w której jest wykonywanie zadania.

task_group

Dla kodu macierzystego, adres task_group obiekt, który zaplanowane zadania.Dla asynchronicznego agentów i lekkie zadania w tej kolumnie jest równa 0.

Procesuj

Identyfikator procesu, że zadanie jest zasilany.

Stan komunikacji asynchronicznej

Zarządzany kod stanu zadania.Domyślnie ta kolumna jest ukryta.Aby wyświetlić w tej kolumnie, otwórz menu kontekstowe dla jednego z nagłówków kolumn.Wybierz kolumny, AsyncState.

Prawym przyciskiem myszy nagłówek kolumny, a następnie wybierając kolumny, które chcesz, można dodać kolumny do widoku. (Usunąć kolumny, czyszcząc wyborów). Można również zmienić kolejność kolumn, przeciągając je w lewo lub w prawo.Na poniższej ilustracji przedstawiono menu skrótów kolumny.

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

Sortowanie zadań

Aby posortować zadania według kryteriów kolumn, kliknij nagłówek kolumny.Na przykład, klikając ID nagłówka kolumny można sortować zadania według Identyfikatora zadania: 1,2,3,4,5 i tak dalej.Aby odwrócić kolejność sortowania, kliknij ponownie nagłówek kolumny.Bieżąca kolumna i sortowania kolejność sortowania jest oznaczony za pomocą strzałki w kolumnie.

Grupowanie zadań

Można grupować zadania oparte na dowolnej kolumny w widoku listy.Na przykład, klikając prawym przyciskiem myszy stanu nagłówek kolumny, a następnie klikając polecenie Grupuj według stanu, można zgrupować wszystkie zadania, które mają taki sam status.Na przykład można szybko zobaczyć oczekujących zadań, aby klient mógł skupić się na dlaczego są blokowane.Można również zwinąć grupę, która nie jest przedmiotem zainteresowania podczas sesji debugowania.W ten sam sposób można pogrupować według innych kolumn.Grupę można (un) oflagowane po prostu klikając przycisk obok nagłówka grupy.Na poniższej ilustracji przedstawiono zadania okna w trybie zgrupowanych.

Tryb zgrupowane w oknie zadania równoległe

Nadrzędny widok podrzędny

(Ten widok jest dostępny tylko w przypadku kodu zarządzanego). Prawym przyciskiem myszy nagłówek kolumny, a następnie klikając polecenie Widok podrzędny nadrzędnego, hierarchiczny widok, w którym każde dziecko zadaniem jest podrzędny węzeł, na którym mogą być wyświetlane lub ukryte pod jego obiektu nadrzędnego można zmienić na liście zadań.Na poniższej ilustracji przedstawiono zadania w widoku nadrzędny podrzędny.

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

Oznaczanie zadań

Można oflagować wątku uruchomienie zadania od wybrania zadania zadanie lista element, a następnie wybierając flagi z menu kontekstowego lub klikając ikonę flagi w pierwszej kolumnie.Jeśli flaga kilka zadań, a następnie można sortować w kolumnie flagi, aby przenieść wszystkie zadania oznaczone flagami na wierzch, aby skoncentrować się tylko na nich.Można również użyć Stosów równoległych okno, aby wyświetlić tylko oflagowane zadań.Pozwala to filtr zadań, które nie są zainteresowane do debugowania.Flagi nie są zachowywane między sesji debugowania.

Zamrażanie i rozmrażanie zadań

Można zamrażać wątku, na którym działa zadanie prawym przyciskiem myszy element listy zadań, a następnie klikając polecenie Zamrozić przypisanych wątek. (Jeśli zadanie jest już zablokowany, odpowiednim poleceniem jest Rozmrażanie przypisanych wątek.) Po zablokowaniu wątku, wątek nie będzie wykonywał podczas przechodzenia do kolejnych kod po bieżący punkt przerwania.Zablokować wszystkie wątki, ale ten polecenie zawiesza wszystkie wątki, z wyjątkiem tego, który jest wykonywany elementu listy zadań.

Na poniższej ilustracji przedstawiono 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