how to gdb genode apps

Norman Feske norman.feske at ...1...
Tue Sep 14 10:28:03 CEST 2010


Hi Stephane,

I suspect that have you placed the 'wait_for_continue' call in a program
that you started via init's 'config' file but attached gdb to core's
PID? You'll need to attach gdb to the thread that executes
'wait_for_continue'. Each Genode process is executed as a separate Linux
process. If you want to debug a non-core process, attach gdb to the
corresponding Linux thread ID. To find out about which threads there
are, use 'ps -eLf' and look for thread names starting with "[Genode]".

Best regards
Norman

On 09/14/2010 09:45 AM, stephane frenot wrote:
> Actually, it is not really working.
> 
> Everything works find, until I attach gdb to the process.
> 
> I am stucked to this:
> 
> (gdb) info thread
> * 1 process 2370  pseudo_end ()
>     at
> /opt/genode/genode-r121/base-linux/../base-linux/src/platform/x86_64/lx_syscall.S:29
> 
> (gdb) info stack
> #0  pseudo_end ()
>     at
> /opt/genode/genode-r121/base-linux/../base-linux/src/platform/x86_64/lx_syscall.S:29
> #1  0x0000000001021442 in lx_nanosleep (this=0x103c400)
>     at /opt/genode/genode-r121/base-linux/src/platform/linux_syscalls.h:371
> #2  thread_stop_myself (this=0x103c400)
>     at /opt/genode/genode-r121/base-linux/src/base/lock/lock_helper.h:70
> #3  Genode::Cancelable_lock::lock (this=0x103c400)
>     at /opt/genode/genode-r121/base/src/base/lock/lock.cc:137
> #4  0x000000000101022e in Genode::Lock::lock (this=<value optimized out>)
>     at /opt/genode/genode-r121/base/include/base/lock.h:35
> #5  Genode::Platform::wait_for_exit (this=<value optimized out>)
>     at /opt/genode/genode-r121/base-linux/src/core/platform.cc:50
> #6  0x000000000100dfde in main ()
>     at /opt/genode/genode-r121/base/src/core/main.cc:229
> 
> And I am not able to reach the line where I put "the wait_for_continue"
> instruction.
> 
> /stephane




More information about the users mailing list