On Mon, 06 Oct 2003 13:58:08 +0530, 
Sachin Sant <[EMAIL PROTECTED]> wrote:
>
>When I dump out the contents of esp and ebp for a certain pid I am 
>seeing all zeroes.  Is this a normal behaviour? 
>
>I am using 2.4.21 + kdb-v4.3 on a 4 way ia32 system.
>
>[3]kdb> pid 888
>KDB current process is cron(pid=888)
>[3]kdb> rd u
>eax = 0x000000a2 ebx = 0xbfffe038 ecx = 0xbfffe038 edx = 0x4013cc90
>esi = 0xbfffe150 edi = 0xbfffe038 esp = 0xbfffe00c eip = 0x400c1d01
>ebp = 0xbfffe1e8 xss = 0x0000002b xcs = 0x00000023 eflags = 0x00000207
>xds = 0x4014002b xes = 0x0000002b origeax = 0x000000a2 &regs =
>0xc3d65fc4
>[3]kdb> md 0xbfffe00c
>0xbfffe00c 00000000 00000000 00000000 00000000   ................

That is not expected.  kdb_getarea() is claiming that it got data but
the result is zero.  It is probably a bug with getting the pages from
user space, although I cannot see anything wrong with the code.

Can you add some debug statements to these routines to track their
inputs and outputs.

  include/asm-i386/kdb.h        __kdba_getarea_size
  kdb/kdbsupport.c              kdb_getuserarea_size
  kdb/kdbsupport.c              kdb_get_one_user_page
  mm/memory.c                   kdb_follow_page

Use "if (KDB_DEBUG(BT)) kdb_printf(...);" so the lines are only printed
when the kdb BT debug flag is on.  "set KDBDEBUG 1" before issuing the
md commands, then "set KDBDEBUG 0" afterwards.  Crude but it works.


Reply via email to