[Buildroot] debugging threads

Will Wagner will_wagner at carallon.com
Tue Sep 4 10:55:03 UTC 2007


I solved this, it was a problem with gdb & gdbserver not being rebuilt 
when you change the uClibc option to allow thread debugging. A rebuild 
from scratch fixed the problem.

Will.

Will Wagner wrote:
> Hello,
> 
> I am trying to debug a multithreaded app and am having some problems. 
> I've hunted around how to do this and have done the following:
> 
> Built uClibc with debug threads on so have a libthread_db.so
> Built gdbserver for target
> 
> I then execute gdbserver with:
> gdbserver 192.168.42.15:2345 /usr/sbin/threaded_test
> 
> On the host machine I run:
> ~/buildroot/build_i686/staging_dir/usr/bin/i686-linux-gdb ~/threaded_test
> 
> Once gdb starts I point it to the shared libs with:
> set solib-absolute-prefix ~/buildroot/project_build_i686/uclibc/root
> 
> Then connect to gdbserver with
> target remote 192.168.42.101:2345
> 
> I am able to debug the application until a call to create a thread 
> (pthread_create) when I get the following error:
> 
> Program received signal SIG32, Real-time event 32.
> 0xb7ef0175 in sigsuspend ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libc.so.0
> (gdb) bt
> #0  0xb7ef0175 in sigsuspend ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libc.so.0
> #1  0xb7faf6a4 in __pthread_wait_for_restart_signal ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libpthread.so.0
> #2  0xb7faf6cc in ?? ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libpthread.so.0
> #3  0xb7fb6040 in ?? ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libpthread.so.0
> #4  0xb7fb1de8 in ?? ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libpthread.so.0
> #5  0xbf871718 in ?? ()
> #6  0xb7fafda8 in pthread_create ()
>     from
> /home/willw/buildroot/project_build_i686/uclibc/root/lib/libpthread.so.0
> Backtrace stopped: frame did not save the PC
> 
> 
> Can anyone tell me what step I am missing to get thread debugging 
> working? From searching on the net it seems the libthread_db is needed 
> but it doesn't seem to be loaded by gdb.
> 
> Many thanks,
> 
> Will.
> 

-- 
------------------------------------------------------------------------
Will Wagner                                     will_wagner at carallon.com
Senior Project Engineer                  Office Tel: +44 (0)20 7371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------





More information about the buildroot mailing list