Megosztás a következőn keresztül:


Folyamatok és szálak szabályozása

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:

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:

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:

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:

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.