[ros-kernel] problems with debugging a umode exception

art yerkes ayerkes at speakeasy.net
Tue Jan 27 08:42:10 CET 2004


On Tue, 27 Jan 2004 02:03:59 +0100

> Hi,
> 
> I'm trying to find a umode bug but have big problems. I'm trying to run
> avifrate.exe (small borland/delphi app) but it crash right after entering
> gui mode. Note that avifrate.exe doesn't load with current cvs due to a bug
> in the loader (fixed locally).
> 
> There are several strange things: 
> -tlist doesn't give any info about avifrate

This I know about, but not why.  The lucky thing is that tlist only skips
info about a thread when that thread is the one that crashed.  It means
that you can always see the stack dump by looking at the stack pointer
and doing bt yourself.

I will try to fix this problem.

> -BaseProcessStart call avifrate entrypoint at 4355dc. I have examined
> avifrate.exe in a debugger, but it doesn't make any sense when i try to
> follow the stack trace from 4355dc (entrypont) or from (40)47d6.
> 
> Symbol resovling work great btw, except for a small bug (missing filename):
> <ntoskrnl.exe: 3851 (:131 (KeAddSystemServiceTable))>

This one I know about, but it appears to affect only certain files.  I
basically rewrote part of the line number handler, and I probably missed
some kinds of stabs.  There are a whole bunch of stabs types, many of
which overlap.  I used the types reported to be used most often by GCC.

> Should be (according to addr2line):
> <ntoskrnl.exe: 3851 (ke/i386/usercall.c:131 (KeAddSystemServiceTable))>
> 
...
> (LDR:ldr/utils.c:2505) winspool.drv - Calling entry point at 5a51a0 for
> thread a
> ttaching
> (NTDLL:ldr/utils.c:2518) LdrpAttachThread() done
> (NTDLL:rtl/apc.c:53) KiUserApcDispatcher in ntdll: about to call NtContinue
> (KERNEL32:process/create.c:380) BaseProcessStart: call exe start 4355dc
> Entered debugger on exception number 14.
> 
Perhaps someone else can comment about the loader?

> Entered kernel debugger (type "help" for a list of commands)
> 
> kdb:>
> kdb:> tlist
> current->Tcb.State 7 PID.TID 6.42 Name services Stack:
> Ebp 0xCEAD6E60
> CEAD6EA0 C00D1297  CEAD6F00 C0016108  CEAD6F30 C0015156  CEAD6F70 C0016632
> CEAD
> 6F84 C0003ACC  0060CE78 77F61D33
...
> current->Tcb.State 2 PID.TID 9.50 Name avifrate Stack:
> 

-- 
"Should array indices start at 0 or 1? My compromise of 0.5 was rejected
 without, I thought, proper consideration."
   - S. Kelly-Bootle


More information about the Ros-kernel mailing list