[okl4-developer] Would you teach the method of debug pistachio/iguana/wombat

Tomohiro Kitamura kitamura at knowledgebeans.co.jp
Fri Jun 1 12:49:12 EST 2007


Hello Hal

I must apologize for disturbing you.
I take care not to send to Kenge-users.

Many thanks for your support.

I am understanding kdb feature gradually.
I'm trying to resolve our problem by ourself.


Tomohiro

> Tomohiro Kitamura wrote:
>   
>> Hello Kenge-users
>>
>>
>> I would like to build the image with debug symbol in okl4_release_1.4.1.1.
>> Although I research how I build the image for debug, I can't find it.
>> Could you teach the method to build the image with symbol information?
>>
>> If it is impossible to do it,  would you have a other method for debug
>> about pistachio, iguana and wombat ?
>> I want to know about wombat debug in particular.
>> Wombat hang up in our hardware in the middle of boot process.
>> I want to investigate about cause of hangup.
>> When I added printk() to linux souorce for debug, many errors occur.
>> Therefore I can't debug the wombat.
>>
>> I already know about kdb.
>> but I don't know about detail of how to use it.
>> Is there more detail documentation about kdb other than OKL4 Microkernel 
>> Programing Manual?
>>
>>
>>     
> Hello Tomohiro,
>
> Firstly the boring admin stuff.  Kenge-users is no-longer used. We have
> all moved to developer at okl4.org. So I'm following up there.
>
>
> Debugging hangs is lots of fun. Some of the tricks we use are:
>
>
> Entering kdb. On ia32 you do this by typing ctrl+k at the serial terminal.
>
> the '?' will then provides the help.
>  BS - back up to previous menu
>   ?  - this help message
>  ESC - back to previous menu
>   a  - architecture specifics
>   S  - execute until next taken branch
>   c  - KDB configuration
>   B  - generic bootinfo
>  SPC - show current exception frame
>   K  - dump kernel interface page
>   p  - dump page table
>   g  - continue execution
>   S  - list all address spaces
>   d  - dump memory
>   P  - dump physical memory
>   D  - dump memory in other space
>   6  - Reset system
>   q  - show scheduling queue
>   t  - show thread control block
>   T  - shows thread control block (extended)
>   s  - Single step
>   #  - statistics
>   r  - enable/disable/list tracepoints
>
>
> to view the sub menus type (for example) a, to enter the architecture
> specific submenu
> then
> ?
> to get the help for that
> /arch> help
>   BS - back up to previous menu
>   ?  - this help message
>  ESC - back to previous menu
>   I  - dump interrupt controller
>   b  - set breakpoints
>   C  - dump CPU features
>   m  - dump model specific registers
>   V  - dump VGA screen contents
>   g  - dump the GDT
>   i  - dump the IDT
>   n  - control nmi handling
>   p  - IO port access
>   c  - show IA32 control registers
>
> running objdump -d vmlinux.reloc > vmlinux.objdump (outside of the
> debugger) will enable you to match the instruction pointer to a specific
> assembly language instruction.
> I quite like objdump -S as this gives you the C/C++ source in that file as
> well as the assembly.
>
> You can obviously run objdump on any of the iguana binaries or L4 itself as well.
>
> If you wish to break into the debugger before wombat is up on x86 the
> best way is to add an instruction somewhere early in the boot procedure.
>
> L4_KDB_Enter("I want to breakin here!");
> which will give you access to the debugger to set breakpoints etc.
>
> Once you're done setting up, pressing 'g' at the top level menu will
> start things running again.
>
> Another good source of debugging info is to run qemu with the
> -d in_asm
> switch, which will put a trace of the assembly instructions qemu
> executes in /tmp/qemu.log
> These can also be matched to the objdump file.
>
> If you suspect that the hang is happening before wombat is booting, try
> enabling the debugging output by uncommenting the relevant lines near the top of iguana/server/src/ig_util.h
>
>
> Which architecture are you using? Ia32? arm? Which board?
>
> I hope this is useful to you. Happy debugging!
>
>   


-- 
/////////////////////////////////////////////////
 ナレッジビーンズ株式会社
 組込みLinux開発部
		  北村 朋宏 (Tomohiro Kitamura)

   〒101-0021  東京都千代田区外神田4-8-5-3F
   Tel/Fax : 03-5207-8055 / 03-5207-8058
   mailto : kitamura at knowledgebeans.co.jp
   URL : http://www.knowledgebeans.co.jp/
/////////////////////////////////////////////////




More information about the Developer mailing list