Date: Thu, 17 Jan 2008 21:43:12 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/gnu/usr.bin/gdb/kgdb kgdb.h main.c trgt.c Message-ID: <200801172143.m0HLhCm8016953@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2008-01-17 21:43:12 UTC
FreeBSD src repository
Modified files:
gnu/usr.bin/gdb/kgdb kgdb.h main.c trgt.c
Log:
Add a new 'add-kld <kld>' command to kgdb to make it easier to analyze
crash dumps with kernel modules. The command is basically a wrapper
around add-symbol-file except that it uses the kernel linker data
structures and the ELF section headers of the kld to calculate the
section addresses add-symbol-file needs.
The 'kld' parameter may either be an absolute path or a relative path.
kgdb looks for the kld in several locations checking for variants with
".symbols" or ".debug" suffixes in each location. The first location it
tries is just opening the specified path (this handles absolute paths and
looks for the kld relative to the current directory otherwise). Next
it tries to find the module in the same directory of the kernel image
being used. If that fails it extracts the kern.module_path from the
kernel being debugged and looks in each of those paths.
The upshot is that for the common cases of debugging /boot/kernel/kernel
where the module is in either /boot/kernel or /boot/modules one can merely
do 'add-kld foo.ko'.
MFC after: 1 week
Revision Changes Path
1.7 +2 -0 src/gnu/usr.bin/gdb/kgdb/kgdb.h
1.12 +2 -2 src/gnu/usr.bin/gdb/kgdb/main.c
1.6 +271 -0 src/gnu/usr.bin/gdb/kgdb/trgt.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801172143.m0HLhCm8016953>
