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.
Felhasználói módú hibakereséskor aktiválhatja, megjelenítheti, lefagyaszthatja, feloldhatja, felfüggesztheti és fel nem függesztheti a folyamatokat és szálakat.
Az jelenlegi vagy aktív folyamat az a folyamat, amely jelenleg hibakeresés alatt áll. Hasonlóképpen, az aktuális vagy aktív szál az a szál, amelyet a hibakereső jelenleg vezérel. Számos hibakereső parancs műveleteit az aktuális folyamat és szál identitása határozza meg. Az aktuális folyamat a hibakereső által használt virtuális címleképezéseket is meghatározza.
A hibakeresés kezdetekor az aktuális folyamat az, amelyhez a hibakereső csatlakozik, vagy amely a hibakeresőbe tört kivételt okozta. Hasonlóképpen, az aktuális szál volt aktív, amikor a hibakereső a folyamathoz csatlakozik, vagy ez okozta a kivételt. A hibakereső használatával azonban módosíthatja az aktuális folyamatot és a szálat, és lefagyhat vagy feloldhat egyes szálakat.
Kernel módú hibakeresés esetén a folyamatokat és a szálakat nem az ebben a szakaszban ismertetett módszerek vezérlik. A folyamatok és szálak kernel módban történő módosításáról további információt a Környezetek módosításacímű témakörben talál.
Folyamatok és szálak megjelenítése
A folyamat- és szálinformációk megjelenítéséhez a következő módszereket használhatja:
A | (Folyamat állapota) parancs
A ~ (Szál állapota) parancs
(Csak WinDbg) A Folyamatok és szálak ablak
Az aktuális folyamat és a szál beállítása
Az aktuális folyamat vagy szál módosításához használja a következő módszereket:
A(z) |s (Jelenlegi folyamat beállítása) parancs
Az ~s (Aktuális szál beállítása) parancs
(Csak WinDbg) A Folyamatok és szálak ablak
Szálak fagyasztása és felfüggesztése
A hibakereső módosíthatja a szál végrehajtását azáltal, hogy felfüggeszti a szálat vagy befagyasztja azt. Ez a két művelet némileg eltérő hatást gyakorol.
Minden szálhoz tartozik egy hozzá kapcsolódó felfüggesztési számláló. Ha ez a szám egy vagy nagyobb, a rendszer nem futtatja a szálat. Ha a szám nulla vagy alacsonyabb, a rendszer szükség esetén futtatja a szálat.
Általában minden szál felfüggesztési száma nulla. Amikor a hibakereső egy folyamathoz csatlakozik, a folyamat összes szálának felfüggesztési számát egyenként növeli. Ha a hibakereső leválik a folyamatról, csökkenti az összes felfüggesztési számlálót eggyel. Amikor a hibakereső végrehajtja a folyamatot, ideiglenesen minden felfüggesztési számot eggyel csökkent.
A hibakereső segítségével bármely szál felfüggesztési számát az alábbi módszerekkel szabályozhatja:
A ~n (Szál felfüggesztése) parancs egyenként növeli a megadott szál felfüggesztési számát.
A ~m (Visszaállítási szál) parancs egyesével csökkenti a megadott szál felfüggesztési számát.
Ezeknek a parancsoknak a leggyakoribb használata egy adott szál felfüggesztési számának növelése 1-ről kettőre. Amikor a hibakereső végrehajt egy folyamatot, vagy leválik arról, a szálnak egy felfüggesztési száma van, és felfüggesztett marad, még akkor is, ha a folyamat más szálai futnak.
Még akkor is felfüggesztheti a szálakat, ha neminvazív hibakeresést végez.
A hibakereső egy szálat is le tud fagyasztani. Ez a művelet hasonlít a szál bizonyos módokon történő felfüggesztéséhez. A "fagyasztva" azonban csak egy hibakereső beállítás. A Windows operációs rendszerben semmi sem ismeri fel, hogy bármi más lenne ebben a szálban.
Alapértelmezés szerint az összes szál nincs lefagyasztva. Amikor a hibakereső egy folyamat futtatását idézi elő, a lefagyott szálak nem futnak. Azonban, ha a hibakereső leválik a folyamatról, az összes szál feloldódik.
Az egyes szálak rögzítéséhez és feloldásához az alábbi módszereket használhatja:
Az ~f (Szál rögzítése) parancs zárolja a megadott szálat.
A ~u (Szál feloldása) parancs feloldja a megadott szálat.
A célfolyamathoz tartozó szálak egyáltalán nem futnak, amikor a hibakereső hozzáférést kapott a célhoz. A szál felfüggesztési száma csak akkor befolyásolja a szál viselkedését, amikor a hibakereső végrehajtja a folyamatot vagy leválasztja azt. A zárolt állapot csak akkor befolyásolja a szál viselkedését, ha a hibakereső végrehajtja a folyamatot.
szálak és folyamatok más parancsokban
Számos más parancs előtt hozzáadhat száljelölőket vagy folyamatjelölőket. További információkért tekintse meg az egyes parancstémaköröket.
Az ~e (Thread-Specific parancs) minősítőt számos parancs és bővítményparancs előtt hozzáadhatja. Ez a minősítő a parancsot a megadott szálra vonatkozóan hajtja végre. Ez a minősítő különösen akkor hasznos, ha egy parancsot több szálra szeretne alkalmazni. A következő parancs például megismétli a !gle bővítményparancsot minden hibakeresés alatt álló szálhoz.
~*e !gle
több rendszer
A hibakereső egyszerre több célhoz is csatolható. Ha ezek a folyamatok kiszedési fájlokat tartalmaznak, vagy egynél több számítógépen élő célpontokat foglalnak magukba, a hibakereső minden művelethez hivatkozik egy rendszerre, folyamatra és szálra. Az ilyen típusú hibakeresésről további információt Több cél hibakeresésecímű témakörben talál.