Chyba systému Windows zastaviť KMODE_EXCEPTION_NOT_HANDLED

Pred určením príčiny tejto chyby musíte identifikovať výnimku. Tri spoločné kódy výnimiek sú:

0x80000002 STATUS_DATATYPE_MISALIGNMENT .

Vyskytol sa nezmenený odkaz na údaje.

0x80000003 STATUS_BREAKPOINT .

Ak nebol k systému pripojený žiadny debugger jadra, vyskytol sa bod prerušenia alebo ASSERT.

0xC0000005 STATUS_ACCESS_VIOLATION .

Došlo k porušeniu prístupu do pamäte.

Parameter 4 (vyššie) je adresa, ku ktorej sa vodič pokúšal pristúpiť.

Úplný zoznam kódov výnimiek sa nachádza v súbore ntstatus.h v adresári inc na súprave Windows Driver Kit.

Základné riešenie problémov a riešenie

Na základnej úrovni by ste mali začať s týmito základnými krokmi na riešenie problémov.

  • Ak je ovládač na vine, vypnite ovládač alebo skontrolujte aktualizácie ovládačov.
  • Skúste zmeniť grafickú kartu v počítači a zistite, či sa problém nevyriešil.
  • Aktualizáciu systému BIOS nájdete na webovej stránke výrobcu základnej dosky.
  • Prístup k systému BIOS a vypnutie pamäte cache alebo tieňovanie pamäte.

Ak sa problém nevyriešil, skúste porovnať všetky nedávno nainštalované hardvéry so zoznamom testovaných produktov Windows Marketplace a overiť, či je kompatibilný s vašou verziou systému Windows.

Ak je ovládač zariadenia chybný, môže byť potrebné spustiť prostredie núdzového režimu stlačením klávesu F8 na klávesnici, keď sa počítač spúšťa (pred vstupom do systému Windows). Vyberte položku Núdzový režim z ponuky pri spustení, keď sa zobrazí. V núdzovom režime môžete odstrániť chybný ovládač zariadenia a reštartovať počítač. Pokračujte v inštalácii aktualizovaného ovládača, ak je k dispozícii.

Môžete tiež skontrolovať Systémový denník v Zobrazovači udalostí, aby ste zistili, či sa vyskytli nejaké chybové hlásenia. Tieto chybové hlásenia môžu pomôcť identifikovať zdroj problému.

Komplexné riešenie problémov

Ak vyššie uvedené riešenia problém nevyriešia, je možné vykonať ďalšie, zložitejšie kroky na riešenie problémov. Tieto kroky zahŕňajú prístup k trasovaniu zásobníka na určenie príčiny problému.

Ak chcete získať sledovanie zásobníka, postupujte takto:

  1. Vykonaním príkazu kb ( Display Stack Backtrace ) zobrazte parametre v stope zásobníka. Vyhľadajte volanie NT! PspUnhandledExceptionInSystemThread.
  2. Prvý parameter vo volaní ukazuje na štruktúru, ktorá obsahuje ďalšie ukazovatele na výnimku okrem:

    Vykonajte príkaz dd ( Display Memory ) na adrese, aby ste získali a zobrazili príslušné informácie.

  3. Vykonajte príkazy .exr ( Display Exception Record ) a .cxr ( Display Context Record ) pomocou dvoch hodnôt získaných v predchádzajúcom kroku ako argumenty pre príkazy.
  4. Po vykonaní príkazu .cxr použite príkaz kb na zobrazenie sledu zásobníkov na základe údajov kontextového záznamu. Trasovanie zásobníka indikuje, kde sa vyskytla neošetrená výnimka.

Ak nemôžete nájsť volanie v kroku 1, namiesto toho vyhľadajte ntoskrnl! KiDispatchException . Pomocou adresy rámčeka pasce (tretí parameter) vykonajte príkaz .trap ( Display Trap Frame ), aby ste nastavili kontext registra na príslušnú hodnotu na spustenie stôp zásob a ďalších príkazov.