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