Update the kernel debugging FAQ to match the new (k)gdb and new DDB
symbol behaviour.
This commit is contained in:
parent
a7d783dddb
commit
d92d2e1236
@ -1,10 +1,15 @@
|
|||||||
Kernel debugging FAQ for FreeBSD
|
Kernel debugging FAQ for FreeBSD
|
||||||
|
|
||||||
$Id: kernel-debug.FAQ,v 1.4 1995/01/03 15:54:03 gclarkii Exp $
|
$Id: kernel-debug.FAQ,v 1.1 1995/03/21 20:19:31 jkh Exp $
|
||||||
|
|
||||||
|
|
||||||
*** Debugging a kernel crash dump with kgdb ***
|
*** Debugging a kernel crash dump with kgdb ***
|
||||||
|
|
||||||
|
[In the following, the term ``kgdb'' refers to gdb run in `kernel
|
||||||
|
debug mode'. This can be accomplished by either starting the gdb
|
||||||
|
with the option ``-k'', or by linking and starting it under the
|
||||||
|
name ``kgdb''. This is not being done by default, however.]
|
||||||
|
|
||||||
Here are some instructions for getting kernel debugging working on a
|
Here are some instructions for getting kernel debugging working on a
|
||||||
crash dump, it assumes that you have enough swap space for a crash
|
crash dump, it assumes that you have enough swap space for a crash
|
||||||
dump. If you happen to have multiple swap partitions with the first
|
dump. If you happen to have multiple swap partitions with the first
|
||||||
@ -226,32 +231,15 @@ $Id: kernel-debug.FAQ,v 1.4 1995/01/03 15:54:03 gclarkii Exp $
|
|||||||
full debug information (including type and line number information)
|
full debug information (including type and line number information)
|
||||||
like kgdb.
|
like kgdb.
|
||||||
|
|
||||||
To configure your kernel to include DDB, add the option lines
|
To configure your kernel to include DDB, add the option line
|
||||||
|
|
||||||
options DDB
|
options DDB
|
||||||
options "SYMTAB_SPACE=XXXX"
|
|
||||||
|
|
||||||
to your config file, and rebuild. XXXX is the amount of space to be
|
to your config file, and rebuild.
|
||||||
reserved into a global array DDB examines to find its symbols at run
|
|
||||||
time. It must be large enough to hold all symbols, but not too
|
|
||||||
large at all to avoid wasting space. 100000 Bytes are a good first
|
|
||||||
bet for a ``normal'' kernel. The link stage will tell you about the
|
|
||||||
usage of the symtab space, you'll see something like:
|
|
||||||
|
|
||||||
dbsym: need 98765; avail 100000
|
|
||||||
|
|
||||||
If the amount of allocated space has been too small, the above
|
|
||||||
message is accompanied by the following error message:
|
|
||||||
|
|
||||||
not enough room in db_symtab array
|
|
||||||
|
|
||||||
and the link stage fails. You then need to increase the number,
|
|
||||||
reconfig and recompile. If your config(8) has been compiled to not
|
|
||||||
remove the old compile directory before continuing (this is a
|
|
||||||
compile-time option [CONFIG_DONT_CLOBBER]), you need to remove
|
|
||||||
db_aout.o prior to recompilation; this is the only file being
|
|
||||||
affected by the SYMTAB_SPACE option.
|
|
||||||
|
|
||||||
|
(Note that if you have an older version of the boot blocks, your
|
||||||
|
debugger symbols might not be loaded at all. Update the boot
|
||||||
|
blocks, the recent ones do load the DDB symbols automagically.)
|
||||||
|
|
||||||
Once your DDB kernel is running, there are several ways to enter
|
Once your DDB kernel is running, there are several ways to enter
|
||||||
DDB. The first (and most early) way is to set the boot flag `-d'
|
DDB. The first (and most early) way is to set the boot flag `-d'
|
||||||
@ -386,6 +374,8 @@ $Id: kernel-debug.FAQ,v 1.4 1995/01/03 15:54:03 gclarkii Exp $
|
|||||||
will cause your kernel to dump core and reboot, so you can later
|
will cause your kernel to dump core and reboot, so you can later
|
||||||
analyze the core on a higher level with kgdb.
|
analyze the core on a higher level with kgdb.
|
||||||
|
|
||||||
|
There's now an alias for this: ``panic''.
|
||||||
|
|
||||||
|
|
||||||
call boot(0)
|
call boot(0)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user