2a71dec10f
debugging kernels and kernel modules much easier. It will automaticly locate kernel source, extract kernel module information, and rerun gdb to load kernel module symbol information (if available by compiling module w/ debuging symbols). I have not run these recently, so may need to be updated to work with gdb6. Feel free to fix as appropriate for -current. |
||
---|---|---|
.. | ||
dot.gdbinit | ||
gdbinit.i386 | ||
gdbinit.kernel | ||
gdbinit.vinum | ||
kgdb | ||
kld_deb.py | ||
README |
$FreeBSD$ This directory contains gdb macros for kernel debugging. When you build a debug kernel, the target "gdbinit" in the kernel Makefile will create the correct .gdbinit files in the kernel build directory. To perform kernel debugging, you would do: # cd /usr/obj/usr/src/sys/GENERIC (or name of kernel config) # make gdbinit # gdb kernel.debug This GDB was configured as "i386-undermydesk-freebsd"... Ready to go. Enter 'tr' to connect to remote target and 'getsyms' after connection to load kld symbols. (kgdb) This directory also contains a kgdb script that given a crash dump number automaticly extract the path to the kernel source, run gdb to extract information about kernel modules loaded, and then rerun gdb loading the necessary symbols for the modules. You need to make sure you build the modules w/ debugging symbols seperately to get things to work.