how to debug fiasco kernel

Björn Döbel doebel at os.inf.tu-dresden.de
Sun Apr 7 10:42:52 CEST 2013


Hey again,

>       Can you give me an example about "you can set the breakpoint remotely from Qemu"?

the approach you used (target remote, break <location>) was the correct one.

>       The application will halt when the instrument "enter_kdebug()" hit, so that we
> can use jdb to debug. It is helpful but what I really want is a source code
> level debugging tool(e.g., I can set a breakpoint using a function name which
> in JDB I need input the memory address). It seems that gdb donot support the
> remotely source code level debug on fiasco, bootstrap or others applications
> accroding to your explanation. If so, what should I do if I can't use gdb.

GDB works fine. Unless you want to debug multiple applications
concurrently at which point GDB's lack of multiple address space support
hits you.

> Is
> there any other tools to instead? And how can I debug the process from the
> very beginning of the system which it goes before JDB runs?

That's harder at the moment. You could manually place the enter_kdebug()
call in an earlier function (e.g., in uClibC's main function). But then
you will get this behavior from all applications that were compiled with
this libC and managing this can be a mess.

Bjoern




More information about the l4-hackers mailing list