RendszertippA jelen cikk az Ön által használttól eltérő operációs rendszerre vonatkozik. A cikk azon tartalmait, amelyek nem relevánsak Önnek, letiltjuk.
Ezt a problémát általában az okozza, hogy az eszközillesztő a munkaelem végrehajtása előtt kétszer hívja meg a munkaelemre az IoQueueWorkItem vagy az ExQueueWorkItem függvényt.
Az IO_WORKITEM vagy a WORK_QUEUE_ITEM struktúrákat statikusan lefoglaló eszközillesztők különösen hajlamosak erre a hibára. Az ilyen statikus foglalást használó eszközillesztőnek biztosítania kell, hogy amíg a statikusan foglalt elem sorban áll, nem próbál meg ahhoz hozzáférni.
Ha a rendszer „A jelenség” szakaszban említett hibaüzenettel áll le, a hibakereséshez hajtsa végre a következőket:
Tegyük fel, hogy az Xyz.sys nevű eszközillesztő az, amelynek telepítése után a rendszer nem válaszol, és megjelenik az előbb említett stop error 0xA hibaüzenet.
Indítsa el a hibakeresőt a megfelelő szimbólumokkal, majd kövesse a következőkben ismertetett hibakeresési lépéseket.
Ebben a példában egy kernel hibakeresőt használunk. Használhatja a KD vagy a WinDbg eszközök egyikét. Ezt a módszert az Illesztőprogram-ellenőrző engedélyezésével is követheti.
A kv parancs kiadására a hibakereső kilistázza a vermet. A következő verem-nyomkövetési adatsor azt mutatja, hogy a WORKER_QUEUE sérült meg.
A 3. lépésben áttekintve a verem tartalmát, úgy tűnhet, hogy a Fast Fat illesztőprogram okozza a hibát. Ennek ellenére a KQUEUE struktúra egy sérült LIST_ENTRY bejegyzést mutat:
A BLINK struktúra hivatkozását feloldva látható, hogy az egy WORK_QUEUE_ITEM elemre mutat (amely itt egy IO_WORKITEM elem első paramétere).
Megjegyzés: Az IO_WORKITEM struktúra definíciója a Windows XP és újabb rendszerek szimbólum-kiszolgálójának használatával érhető el. A struktúra a Windows rendszer korábbi verzióiban is megegyezik, de a szimbólumok nem elérhetők.
Az eszközobjektum tartalma nem mutatja, hogy az érvényes eszközobjektum. Ennek ellenére a Context mező érvényes, és a !pool parancs egy Culprit Pool Tag típusú pooltag elemet jelenít meg.
A Routine cím érvényességének eldöntése a készlet címén végrehajtott ln paranccsal lehetséges. Ha a szimbólumok használata lehetséges, a készlet címen végrehajtott ln parancs eredménye a hibát okozó illesztőprogram címe. Ezért megalapozottan gondolhatjuk azt, hogy az IO_WORKITEM elem egy olyan eszköznek felel meg, amelyet a készletcímke által mutatott illesztőprogram hozott létre.
A következő kódban a munkasor egyelemű. Emiatt a BLINK mutató hivatkozását feloldva könnyű megtalálni azt. Mivel a munkasor több elemet is tartalmazhat, addig kell feloldani az összes elem BLINK változójának hivatkozását, amíg az a munkaelem nem kerül sorra, amelynek a BLINK mutatója a KQUEUE elemre mutat vissza.
kd> !pool 81f4a14c
Pool page 81f4a14c region is Nonpaged pool
*81f4a140 size: 2b8 previous size: 8 (Allocated) *Culprit Pool Tag
A rendszer megállása és a STOP hibával kapcsolatos hibaüzenet megjelenése a hibakeresés során azonosított illesztőprogram kikapcsolásával, majd lecserélésével akadályozható meg.
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.
Hasznosnak találta ezt az információt?
Igen
Nem
Valamennyire
Mennyire volt nehéz kiigazodni a cikken?
Nagyon könnyű volt megtalálni a választ
Elég könnyű volt megtalálni a választ
Közepes
Nehéz volt megtalálni a választ
Nagyon nehéz volt megtalálni a választ
Mondja el, hogy miért, és tudassa velünk, miként tudnánk javítani az információ minőségén
Köszönjük! Ez az információ segítséget nyújt számunkra, hogy fejlesszük a támogatási tartalmat. További támogatási lehetőségekért keresse fel a következő webhelyet: Súgó és támogatási webhely.