Windowsin pysäytys THREAD_STUCK_IN_DEVICE_DRIVER-virhe

THREAD_STUCK_IN_DEVICE_DRIVER-virheilmoitus ilmenee, kun laiteajuri on juuttunut kehruun äärettömään silmukkaan ja odottaa siihen liittyvää laitteistoa joutumatta.

Tämä ongelma johtuu usein laitteisto-ongelmasta tai ongelmasta, kun laiteohjain yrittää ohjelmoida laitteiston. Tämä virhe esiintyy yleisemmin viallisen näytönohjaimen tai näytönohjaimen kanssa.

Loppukäyttäjäratkaisut

Jos olet loppukäyttäjä (ei kehitä ajuria) ja havaitset tämän virheen, tarkista, onko laitteelle päivitettyjä ohjaimia. Jos päivityksiä ei ole ja uusia laitteita ei ole lisätty, on turvallista olettaa, että tietokoneen laitteisto on epäonnistunut ja että se on vaihdettava.

Kehittäjäratkaisut

Jos olet kuljettajan kehittäjä tai yrität korjata tämän ongelman, käytä .thread ( Set Register Context ) -komentoa. Sen jälkeen, jos haluat löytää, mihin lanka on juuttunut, käytä kb ( Display Stack Backtrace ) -komentoa.

Ongelma voidaan ratkaista myös debuggerissa. DbgBreakPoint kutsutaan, kun virhe ilmenee, jos ytimen virheenkorjaaja on jo käynnissä, kun Windows havaitsi virheen tai aikakatkaisutilan. Tässä tapauksessa KeBugCheckExiä ei kutsuta ja .bugcheck ( Display Bug Check Data ) -komennon käyttö ei sisällä mitään hyödyllistä tietoa (jos mitään tietoa).

Debuggeriin sisältyvät edellä esitettyjen parametrien kaltaiset tiedot. Voit silti tarkastella neljää parametria hakemalla ne Watchdogin globaaleista muuttujista käyttämällä jotakin kahdesta komennosta käyttöjärjestelmästä riippuen.

  • 32-bittinen järjestelmä: dd watchdog! G_WdBugCheckData L5
  • 64-bittinen järjestelmä: dq watchdog! G_WdBugCheckData L5

Kun käytät tätä interaktiivista menetelmää virheen vianmääritykseen, voit löytää virheen aiheuttavan langan, asettaa kierteen katkaisupisteet ja käyttää myöhemmin g (Go) -komentoa silmukointikoodin virheenkorjaukseen.