PERFORCE change 57906 for review
Marcel Moolenaar
marcel at FreeBSD.org
Thu Jul 22 00:09:50 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=57906
Change 57906 by marcel at marcel_nfs on 2004/07/22 07:08:50
kgdb #2. This implementation is based on kgdb #1 that's in
src/usr.bin/kgdb. This implementation links against libgdb
directly instead of using the remote protocol as IPC with
gdb(1). For that reason kgdb #2 is in src/gnu/usr.bin/gdb.
The advantage of linking against libgdb is that we can make
use of all the hooks that libgdb provides us, as well as
push our own target onto the target stack and install a
frame sniffer to deal with trapframes.
It is also expected that this approach allows us to support
relocatable kernel modules, although I have no clue how ATM.
These new files provide:
o A minimal manpage (can't be bad).
o An implementation for main() that invokes gdb_main().
This gives us the debugger prompt and all the functionality
that one is used to.
o A gdb init hook that sets the prompt and loads the selected
kernel as the symbol file.
o The loading of the core file with -lkvm.
o The kernel thread support functions.
What is needed to make it a functional kernel debugger:
o A new target that groks the kernel threads, uses -lkvm to
read from the core file and provides for the necessary
register fetching.
o Some smartness to automaticly load the kernel modules
as additional symbol files.
o A bunch of commands to aid in debugging.
Affected files ...
.. //depot/projects/gdb/gnu/usr.bin/gdb/kgdb/Makefile#1 add
.. //depot/projects/gdb/gnu/usr.bin/gdb/kgdb/kgdb.1#1 add
.. //depot/projects/gdb/gnu/usr.bin/gdb/kgdb/kgdb.h#1 add
.. //depot/projects/gdb/gnu/usr.bin/gdb/kgdb/kthr.c#1 add
.. //depot/projects/gdb/gnu/usr.bin/gdb/kgdb/main.c#1 add
Differences ...
More information about the p4-projects
mailing list