quick kmdb cheatsheet
This is mainly a reference for myself since I have been playing with OpenSolaris kernel internals lately:
- To enable kmdb edit the kernel’s grub entry and append
-kto it. - Break into kmdb:
f1+a - Display status:
::status - List available kmdb commands (and be amazed):
::dcmds - View registers for CPU 0:
::cpuregs -c 0and/or::regs - Set a breakpoint at the given symbol or address:
::bp [symbol or address] - Set a read/write watchpoint at the given symbol or address:
[symbol or address] ::wp -rw - Display breakpoints and watchpoints:
::events - Delete breakpoint (or watchpoint) #1:
::delete 1 - Continue execution:
:c - Next instruction, step into function calls:
::step - Next instruction, step over function calls:
::step over - Return from current function:
::step out - Continue execution until the next branching instruction (only x86):
::step branch - Disassemble around RIP:
<rip::dis - Disassemble 100 instructions starting at the given symbol or address:
::dis -n 100 [symbol or address] - View backtrace:
$C - View IDT:
::idt - View symbols:
::nm - View the kernel message buffer:
::msgbuf - Quit kmdb and reboot:
::quit
This brief cheatsheet does not do kmdb justice; it is an amazing built-in kernel debugger with countless features. For more details read the manpage.
浙公网安备 33010602011771号