On Fri, 1 Dec 2000 19:37:03 +0100,
utz lehmann <xfs@xxxxxxxxxx> wrote:
>i dont know to use kdb. can you help me.
There are manual pages for kdb, "man Documentation/kdb/kdb.mm" for an
overview, then read the other man pages. Little known Linux fact, if
the 'man' command is given a name that contains '/' then it goes direct
to that file instead of searching the man paths.
cd linux/Documentation/kdb
man ./kdb.mm
man ./kdb_bt.man
etc.
man kdb.mm will search the man paths, man ./kdb.mm will look at the
specified file.
For this problem, the starting point is a backtrace on the failing
process, the kdb command is 'bt'. To capture the output there are two
options :-
(1) Run a null modem cable to a second machine, compile the kernel with
serial console enabled (CONFIG_SERIAL=y, CONFIG_SERIAL_CONSOLE=y),
boot with the serial console active. My lilo.conf contains
append="console=tty0 console=ttyS1,38400"
This is all covered in Documentation/serial-console.txt. Run any
comms program on the second machine to capture the output. You can
enter kdb commands on either the main keyboard or the serial
console.
(2) If the syslog has started before the panic and the machine is
usable after the panic and the amount of output is small (less than
8K of text) then you can save the kdb output via syslog. When you
enter kdb, type
set LOGGING=1
kdb output will be stored in the syslog buffer. When you type 'go'
in kdb, that data will be written to disk by syslog. Of course
that requires that syslog is working after the panic. In a lot of
cases the panic kills the machine and syslog is never written so
this option is not reliable.
You can enter preset commands via kdb/kdb_cmds then compile. Any
commands added to that file are issued during kdb initialization. It
is a useful place to store your standard settings for kdb environment
variables.
|