Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Feladatok ablak hasonlít a Szálak ablakra, azzal a kivétellel, hogy az aszinkron/várakozási mintával létrehozott aszinkron tevékenységekre vonatkozó információkat jelenít meg, más néven tevékenységalapú aszinkron mintát (TAP) a szálalapú információk helyett. A szálakhoz hasonlóan a tevékenységek az egyidejűleg futtatható aszinkron műveleteket jelölik; azonban több tevékenység is futtatható ugyanazon a szálon.
A .NET-kódban a Feladatok ablakot akkor használhatja, ha az alkalmazásokkal az aszinkron/várakozási mintát használja (a VisualBasicben a Várakozás és az Async ). A Párhuzamos halmok ablak Feladatok nézete azonban gyakran hasznosabb az aszinkron alkalmazások hibakereséséhez. További információ: Aszinkron alkalmazás hibakeresése.
A .NET-kódban a Feladatok ablakot akkor használhatja, ha az alkalmazásokkal az aszinkron/várakozási mintát használja (a VisualBasicben a Várakozás és az Async ). A Párhuzamos halmok ablak Feladatok nézete azonban gyakran hasznosabb az aszinkron alkalmazások hibakereséséhez. További információ: Szálak és feladatok megtekintése a Párhuzamos veremek ablakban.
Jótanács
C/C++ kód esetén használja a Szálak nézetet a Párhuzamos verem ablakban, ha feladatcsoportokat, párhuzamos algoritmusokat, aszinkron ügynököket és egyszerűsített feladatokat kell hibakeresésre használnia. További információ: Szálak és feladatok megtekintése a Párhuzamos veremek ablakban.
A Feladatok ablakot bármikor használhatja, amikor betör a hibakeresőbe. A Hibakeresés menüben a Windows parancsra, majd a Feladatok parancsra kattintva érheti el. Az alábbi ábrán a Feladatok ablak látható az alapértelmezett módban.
Megjegyzés:
A felügyelt kódban előfordulhat, hogy a Task, TaskStatus.WaitingForActivation vagy TaskStatus.WaitingToRun állapotú feladatok nem jelennek meg a Feladatok ablakban, ha a felügyelt szálak alvó vagy csatlakozási állapotban vannak.
Tevékenységek oszlopának adatai
A Feladatok ablak oszlopai a következő információkat jelenítik meg.
| Az oszlop neve | Leírás |
|---|---|
| Zászlók | Megjeleníti a megjelölt tevékenységeket, és lehetővé teszi a tevékenységek megjelölését vagy törlését. |
| ikonok |
|
| Azonosító | A feladathoz rendszer által megadott szám. Natív kódban ez a feladat címe. |
| Állapot | A tevékenység aktuális állapota (ütemezett, aktív, blokkolt, holtponton, várakozás vagy befejezett). Mutasson az Állapot cellára a blokk további információinak megtekintéséhez. Figyelmeztetés: A Feladatok ablak csak akkor jelenti a holtpontot, ha egy blokkolt feladat olyan szinkronizációs primitívet használ, amelyet a Várakozási Lánc Bejárása (WCT) támogat. Például egy WCT-t használó holtpontú Task objektum esetében a hibakereső a Awaiting-deadlocked jelentést jelenti. A WCT-t nem használó egyidejűségi futtatókörnyezet által felügyelt holtpontú feladat esetén a hibakereső a Várakozást jelenti. További információ a WCT-ről: Wait Chain Traversal. |
| Kezdési időpont | Az az időpont, amikor a tevékenység aktívvá vált. |
| Időtartam | A tevékenység aktív másodperceinek száma. |
| Befejezési idő | A tevékenység befejezésének időpontja. |
| Helyszín | A feladat aktuális helye a hívásveremben. Vigye az egérmutatót erre a cellára a feladat teljes hívásveremének megtekintéséhez. Az ütemezett tevékenységeknek nincs értékük ebben az oszlopban. |
| tevékenység | A kezdeti metódus és a tevékenységnek a létrehozáskor átadott argumentumok. |
| AsyncState | Felügyelt kód esetén a tevékenység állapota. Alapértelmezés szerint ez az oszlop rejtett. Az oszlop megjelenítéséhez nyissa meg az egyik oszlopfejléc helyi menüjét. Válassza az Oszlopok és AsyncState elemeket. |
| Szülő | A feladatot létrehozó tevékenység azonosítója. Ha ez üres, a tevékenységnek nincs szülője. Ez csak felügyelt programokra vonatkozik. |
| Szálhozzárendelés | Annak a szálnak az azonosítója és neve, amelyen a feladat fut. |
| AppDomain | Felügyelt kód esetén az az alkalmazástartomány, amelyben a feladat végrehajtása folyamatban van. |
| task_group | Natív kód esetén a feladatot ütemező task_group objektum címe. Az aszinkron ügynökök és az egyszerűsített feladatok esetében ez az oszlop 0 értékre van állítva. |
| Folyamat | Annak a folyamatnak az azonosítója, amelyen a feladat fut. |
Ha oszlopokat szeretne hozzáadni a nézethez, kattintson a jobb gombbal egy oszlopfejlécre, majd jelölje ki a kívánt oszlopokat. (Az oszlopok eltávolítása a kijelölések törlésével.) Az oszlopokat úgy is átrendezheti, hogy balra vagy jobbra húzza őket. Az oszlop helyi menüje az alábbi ábrán látható.
Feladatok rendezése
A tevékenységek oszlopfeltételek szerinti rendezéséhez kattintson az oszlopfejlécre. Ha például az AZONOSÍTÓ oszlopfejlécre kattint, a tevékenységeket a következő tevékenységazonosító szerint rendezheti: 1,2,3,4,5 stb. A rendezési sorrend megfordításához kattintson ismét az oszlopfejlécre. Az aktuális rendezési oszlopot és rendezési sorrendet egy nyíl jelzi az oszlopon.
Tevékenységek csoportosítása
A feladatokat a listanézet bármely oszlopa alapján csoportosíthatja. Ha például a jobb gombbal az Állapot oszlopfejlécre kattint, majd a Csoportosítás> kattint, csoportosíthatja az azonos állapotú összes tevékenységet. Például gyorsan láthatja a várt feladatokat, így a letiltásuk okára összpontosíthat. Olyan csoportot is összecsukhat, amely nem érdekes a hibakeresési munkamenet során. Ugyanígy csoportosíthatja a többi oszlopot is. A csoportokat a csoportfejléc melletti gombra kattintva lehet megjelölni (megszüntetni). Az alábbi ábrán a Feladatok ablak látható csoportosított módban.
Szülő-gyermek nézet
(Ez a nézet csak felügyelt kódhoz érhető el.) Ha a jobb gombbal az Állapot oszlop fejlécére kattint, majd a Csoportosításszülő> parancsra kattint, a tevékenységek listáját hierarchikus nézetre módosíthatja, amelyben minden gyermekfeladat egy alcsomópont, amely megjeleníthető vagy elrejthető a szülője alatt.
Feladatok megjelölése
Megjelölheti azt a szálat, amelyen a tevékenység fut. Ehhez jelölje ki a tevékenységlistaelemet, majd válassza a Hozzárendelt szál megjelölése lehetőséget a helyi menüből, vagy kattintson az első oszlopban a jelölő ikonra. Ha több tevékenységet jelöl meg, a jelölőoszlopon rendezve az összes megjelölt tevékenységet felülre helyezheti, hogy csak rájuk összpontosíthasson. A Párhuzamos halmok ablak használatával is csak a megjelölt tevékenységeket tekintheti meg. Így kiszűrheti azokat a feladatokat, amelyeket nem szeretne hibakeresésre. A hibakeresési munkamenetek között nem maradnak meg a jelzők.
Fagyasztási és kiolvasztási feladatok
A feladat futtatási szálát a feladatlistára jobb gombbal kattintva, majd a Hozzárendelt szál befagyasztása parancsra kattintva fagyaszthatja le. (Ha egy tevékenység már le van fagyasztva, a parancs Thaw Assigned Thread.) Amikor egy szálat lefagyaszt, az a szál nem fog futni, amikor az aktuális töréspont után lép végig a kódon. A Csak az aktuális szál kivételével minden szál befagyasztása parancs az összes szálat zárolja, kivéve azt, amelyik a feladatlista-elemet végrehajtja.
Az alábbi ábrán az egyes tevékenységekhez tartozó többi menüelem látható.
Az aktív tevékenység vagy keret váltása
A Váltás feladatra parancs aktív feladattá teszi az aktuális tevékenységet. A Váltás keretre parancs aktív veremkeretté teszi a kijelölt veremkeretet. A hibakereső környezet átvált az aktuális feladatra vagy a kijelölt veremkeretre.