Next: , 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.