BSD libkvm Interface (Debugging with GDB)
Next: Process Information, Up: Native [Contents][Index]
21.1.1 BSD libkvm Interface
BSD-derived systems (FreeBSD/NetBSD/OpenBSD) have a kernel memory interface that provides a uniform interface for accessing kernel virtual memory images, including live systems and crash dumps. GDB uses this interface to allow you to debug live kernels and kernel crash dumps on many native BSD configurations. This is implemented as a special kvm
debugging target. For debugging a live system, load the currently running kernel into GDB and connect to the kvm
target:
(gdb) target kvm
For debugging crash dumps, provide the file name of the crash dump as an argument:
(gdb) target kvm /var/crash/bsd.0
Once connected to the kvm
target, the following commands are available:
kvm pcb
Set current context from the Process Control Block (PCB) address.
kvm proc
Set current context from proc address. This command isn’t available on modern FreeBSD systems.