Delen via


Lokale Kernel-Mode foutopsporing

Foutopsporingsprogramma's voor Windows ondersteunt lokale kernelfoutopsporing. Dit is foutopsporing in de kernelmodus op één computer. Met andere woorden, de debugger draait op dezelfde computer die wordt gebruikt voor het debuggen.

Lokaal Kernel-Mode foutopsporing instellen

Zie Handmatig instellen van lokale kernel-modus Kernel-Mode foutopsporing voor één computer voor informatie over het instellen van lokale kernel-modus foutopsporing.

De foutopsporingssessie starten

WinDbg gebruiken

Open WinDbg als beheerder. Kies in het menu Bestand de optie Kernel Debugging. Open in het dialoogvenster Kernelfoutopsporing het tabblad Lokaal . Selecteer OK.

U kunt ook een sessie starten met WinDbg door een opdrachtpromptvenster te openen als beheerder en de volgende opdracht in te voeren:

windbg -kl

KD gebruiken

Open een opdrachtpromptvenster als beheerder en voer de volgende opdracht in:

kd -kl

Opdrachten die niet beschikbaar zijn

Niet alle opdrachten zijn beschikbaar in een lokale kernel-debugsessie. Normaal gesproken kunt u geen opdracht gebruiken waardoor de doelcomputer wordt gestopt, zelfs tijdelijk, omdat u de bewerking niet kunt hervatten.

U kunt met name de volgende opdrachten niet gebruiken:

  • Uitvoeringsopdrachten, zoals g (Go), p (Stap), t (Trace), wt (Trace en Controlegegevens), tb (Traceren naar volgende vertakking), gh (Go met uitzondering verwerkt)en gn (Go met uitzondering niet verwerkt)

  • Opdrachten voor afsluiten en dumpen van bestanden, zoals .crash, .dump en .reboot

  • Onderbrekingspuntopdrachten, zoals bp, bu, ba, bc, bd, be en bl

  • Weergaveopdrachten registreren, zoals r en variaties

  • Stack-traceringsopdrachten, zoals k en variaties

Als u lokale kernelfoutopsporing uitvoert met WinDbg, zijn alle equivalente menuopdrachten en knoppen ook niet beschikbaar.

Opdrachten die beschikbaar zijn

Alle geheugeninvoer- en uitvoeropdrachten zijn beschikbaar. U kunt vrij lezen uit gebruikersgeheugen en kernelgeheugen. U kunt ook naar het geheugen schrijven. Zorg ervoor dat u niet naar het verkeerde deel van kernelgeheugen schrijft, omdat het gegevensstructuren kan beschadigen en vaak ervoor zorgt dat de computer niet meer reageert (dat wil zeggen crash).

Problemen bij het uitvoeren van lokale kerneldebuggen

Lokale kerneldubugging is een zeer delicate bewerking. Wees voorzichtig dat u het systeem niet beschadigd of crasht.

Een van de moeilijkste aspecten van lokale kernelfoutopsporing is dat de status van de machine voortdurend verandert. Geheugen wordt in en uit gepaginad, het actieve proces verandert voortdurend en contexten van virtuele adressen blijven niet constant. Onder deze omstandigheden kunt u echter effectief dingen analyseren die langzaam veranderen, zoals bepaalde apparaatstatussen.

Stuurprogramma's in de kernelmodus en het Windows-besturingssysteem verzenden regelmatig berichten naar het kernelfoutopsporingsprogramma met behulp van DbgPrint en gerelateerde functies. Deze berichten worden niet automatisch weergegeven tijdens lokale kernelfoutopsporing. U kunt ze weergeven met behulp van de extensie !dbgprint .

LiveKD

Het LiveKD-hulpprogramma simuleert lokale kernelfoutopsporing. Met dit hulpprogramma maakt u een dumpbestand voor momentopnamen van het kernelgeheugen, zonder de kernel daadwerkelijk te stoppen terwijl deze momentopname wordt gemaakt. (Daarom is het mogelijk dat de momentopname niet daadwerkelijk één directe status van de computer weergeeft.)

LiveKD maakt geen deel uit van het pakket Foutopsporingsprogramma's voor Windows. U kunt LiveKd downloaden van de Windows Sysinternals-site.