Problemet är ofta resultatet av ett hårdvaruproblem eller ett problem med enhetsdrivrutinen som försöker programmera hårdvaran. Detta fel uppstår oftare med ett defekat grafikkort eller ett grafikkortsdrivrutin.
Slutanvändarlösningar
Om du är en slutanvändare (inte utvecklaren drivrutinen) och stöter på det här felet, kolla efter uppdaterade drivrutiner för din enhet. Om det inte finns några uppdaterade drivrutiner och ingen ny maskinvara har lagts till är det säkert att anta att hårdvaran i datorn har misslyckats och bör bytas ut.
Utvecklarlösningar
Om du är utvecklaren av drivrutinen eller försöker felsöka problemet, använd kommandot .thread ( Set Register Context ). Sedan, för att hitta var tråden är fast, använd kommandot kb ( Display Stack Backtrace ).
Det kan vara möjligt att använda information i debuggeren för att lösa detta problem också. DbgBreakPoint kommer att ringas när felet inträffar om kärnan debugger redan kördes när Windows upptäckte felet eller tidsavbrottstillståndet. I det här fallet kommer KeBugCheckEx inte att ringas och kommandot .bugcheck ( Display Bug Check Data ) kommer inte innehålla någon användbar information (om någon information alls).
Felsökaren kommer att innehålla information som liknar parametrarna ovan. Du kan fortfarande se de fyra parametrarna genom att hämta dem från Watchdogs globala variabler genom att använda en av de två kommandona, beroende på operativsystemet.
- 32-bitars system: dd watchdog! G_WdBugCheckData L5
- 64-bitars system: dq watchdog! G_WdBugCheckData L5
Genom att använda denna interaktiva metod för att felsöka felet kan du hitta tråden som orsakar felet, ställa in brytpunkter i tråden och använda kommandot g (Go) för att felsöka looping-koden.