Wann und wie verwenden von windbg kernel debugging
Fand ich Windbg ist sehr nützlich während der Entwicklung und des debugging.
aber meistens verwende ich in windbg verwenden Sie den Modus " Debuggen.
- Welche kernel-debugging in windbg?
oder Wann sollte ich verwenden windbg kernel debugging? - Gibt es ein toturial über kernel-debugging in windbg?
Vielen Dank im Voraus.
InformationsquelleAutor whunmr | 2010-01-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
in der Regel mit kernel-debugging, wenn Sie brauchen, um debug-low-level-Gerätetreiber direkte Interaktion mit der hardware.
Es ist mehr kompliziert zu Debuggen, die im kernel-Modus, unter anderem für ein live-kernel-debug-Sitzung müssen Sie den debugger starten, auf einem anderen system als die, die gedebuggt wird . für die Mehrheit der Entwickler-Benutzer-Modus ist genug, um die meiste Arbeit zu tun.
Advanced Windows Debugging ist ein sehr gutes Buch über das Debuggen mit wndbg (beinhaltet Diskussionen über kernel-debugging).
den dump-Analyse Website hat viele tutorials wie kernel-debugging-Szenarien
InformationsquelleAutor Alon
den wichtigsten Unterschied zwischen Benutzer-und Kernelmodus WINDBG ist, man kann sehen, dass JEDER Prozess, der im kernel-Modus WINDBG, und alle threads. Sie nicht notwendig zu sehen bekommen, jeder stack-frame, da Sie ausgelagert wird Häufig durch den Speicher-manager.
einige gängige Befehle, die ich Häufig verwenden.
!Prozess 0 0
listet alle Laufenden Prozess:
.Prozess {x}
Wählen Sie den Prozess, den Sie möchten, um die aktive, in der Regel gefolgt von der !threads-Befehl, um eine Liste der Prozesse den aktuellen threads.
!Stapel 0x2 {foo.sys}
sucht ALLE threads für call-stacks, enthalten die angegebenen Treiber.
!poolused
nützlich beim Debuggen von low kernel-Speicher-Situationen und alles, was Sie haben, ist ein kernel-crash-dump
.crash
Nützlich, wenn Sie live-debugging über serielles Kabel, und Sie möchten, dass die Ziel-Maschine schreiben, einen crash-dump
!vm 1
Nützlich ist die Anzeige der Speicher-Manager-Statistiken, Beispiel:
Nicht zu vergessen, das ALLE MÄCHTIGEN !Schlösser
unerlässlich für die Problembehandlung bei einen Deadlock-Maschine,
mit diesem Befehl kannst du die Spur threads, die stecken geblieben sind, warten auf einen anderen thread zu release ein ERESOURCE
InformationsquelleAutor Ivan Bohannon
Wohl, Sie wollen nur zu debug im kernel-Modus, wenn Ihr code läuft im kernel-Modus, sprich wenn du schreibst ein Treiber oder etwas anderes, das läuft in den kernel. Oder vielleicht, wenn Sie versuchen zu lernen, mehr über Windows selbst auf einem sehr niedrigen Niveau durch die Erforschung um in den kernel und stochern und stupsen Sie an Dinge.
Wenn Sie auf der Suche nach tutorials und andere Nachschlagewerke, die Sie Aussehen könnte, für "kd" Verweise sowie sind Sie wahrscheinlich sehr ähnlich sein. (kd ist ein Kommandozeilen-kernel-debugging-tool.)
InformationsquelleAutor Mike Kale