Windows lopettaa KMODE_EXCEPTION_NOT_HANDLED-virheen

Ennen virheen syyn määrittämistä sinun on tunnistettava poikkeus. Kolme yleistä poikkeuskoodia ovat:

0x80000002 STATUS_DATATYPE_MISALIGNMENT .

Kohtaamattomien tietojen viittaus tapahtui.

0x80000003 STATUS_BREAKPOINT .

Kohdepiste tai ASSERT havaittiin, kun ytimen virheenkorjainta ei ollut liitetty järjestelmään.

0xC0000005 STATUS_ACCESS_VIOLATION .

Varoitettu muistin käyttö tapahtui.

Parametri 4 (yllä) on osoite, jonka kuljettaja yritti käyttää.

Täydellinen luettelo poikkeuskoodeista löytyy ntstatus.h-tiedostosta, Windows-ohjainpaketin inc-hakemistosta.

Vianmääritys ja ratkaisu

Perusteellisemmalla tasolla kannattaa aloittaa näillä vianmääritysvaiheilla.

  • Jos kuljettaja on viallinen, poista ohjain käytöstä tai tarkista ohjaimen päivitykset.
  • Yritä vaihtaa tietokoneen muistikorttia ja tarkista, onko ongelma ratkaistu.
  • Tarkista emolevyn valmistajan verkkosivuilta BIOS-päivitys.
  • Avaa BIOS ja poista muistin välimuisti tai muistin varjostus käytöstä.

Jos ongelma ei ratkea, yritä verrata äskettäin asennettuja laitteita Windows Marketplace Testattujen tuotteiden luetteloon varmistaaksesi, että se on yhteensopiva Windows-version kanssa.

Jos laiteajuri on viallinen, voi olla tarpeen käyttää Safe Mode -ympäristöä painamalla näppäimistön F8-näppäintä, kun tietokone käynnistyy (ennen kuin aloitat Windowsin). Valitse Käynnistysvalikosta Vikasietotila, kun se näkyy. Vikasietotilassa voit poistaa viallisen laiteohjaimen ja käynnistää tietokoneen uudelleen. Jatka päivitetyn ohjaimen asentamista, jos sellainen on käytettävissä.

Voit myös tarkistaa System Log (Tapahtumien katselu) -ikkunassa, onko virheilmoituksia. Nämä virhesanomat voivat auttaa tunnistamaan ongelman lähteen.

Monimutkainen vianmääritys

Jos edellä mainitut ratkaisut eivät ratkaise ongelmaa, voidaan tehdä muita, monimutkaisempia vianmääritysvaiheita. Näihin vaiheisiin liittyy pino-jäljityksen käyttö ongelman syyn määrittämiseksi.

Voit saada pinon jäljityksen seuraavasti:

  1. Suorita kb ( Display Stack Backtrace ) -komento näyttämään pino-jäljityksen parametrit. Etsi puhelu NT: lle! PspUnhandledExceptionInSystemThread.
  2. Puhelun kohdissa oleva ensimmäinen parametri rakenteeseen, joka sisältää ylimääräisiä viittauksia paitsi ilmoitukseen:

    Suorita osoitteen dd ( Display Memory ) -komento hakemaan ja näyttämään tarvittavat tiedot.

  3. Suorita .exr ( Display Exception Record ) ja .cxr ( Display Context Record ) -komennot käskyjen argumentteina käyttämällä edellisessä vaiheessa haettuja kahta arvoa.
  4. Kun .cxr-komento on suoritettu, käytä kb-komentoa nähdäksesi pinon jäljen kontekstitietojen perusteella. Pino-jälki osoittaa, mihin käsittelemätön poikkeus tapahtui.

Jos et löydä puhelua vaiheessa 1, etsi ntoskrnl! KiDispatchException . Käyttäen trap-kehysosoitetta (kolmas parametri) suorita .trap ( Display Trap Frame ) -komento asettaaksesi rekisterikontekstin sopivaan arvoon pino- ja muiden komentojen suorittamiseksi.