On Tue, 7 Aug 2001 19:34:07 -0400, 
Kapish K <[EMAIL PROTECTED]> wrote:
>       I would like to understand the meaning of the following in the
>kdb output:
>firstly, when would kdb normally show unknown in the bt trace?

I assume you are talking about ix86 here.  kdb tries to unwind the ix86
stack, making its best guess at where functions were called from.  The
problem with ix86 is that it is not always possible to do an extract
stack decode.  <unknown> appears when kdb has got what it belives is
the return address from the stack but that address does not fall inside
the kernel or any module.  It is likely that the stack unwind has found
a false return address.

The next time it oops, "set KDBDEBUG=0x19" then bt.  That will produce
a *big* trace of what kdb is doing with stack unwind, send the trace to
me, not to the list.  You will need a serial console to capture the
trace output.  Also I need to know which version of gcc you are using.

>second is, what does the thread column mean? 

It is the address of the thread structure currently associated with the
process.  Unless the process used clone with CLONE_THREAD, you can
ignore that field.  It is only useful when debugging multi threaded
applications, you can ignore that field.  It is only useful when
debugging multi threaded applications, you can ignore that field.  It
is only useful when debugging multi threaded applications

>finally, what do the runs for the various processes mean? that
>they are in the run queue?

The status field for the process has it marked as runnable.  If it is
actually running on a cpu then it has '1' in the cpu column.  Most
processes are stopped waiting for an event.

Reply via email to