Não é possível depurar o aplicativo multi-threaded com gdb
Eu estou depurando um aplicativo multi-threaded com gdb, mas quando eu inicio o programa no gdb eu recebo o aviso:
aviso: Não foi possível encontrar a biblioteca de encadeamentos do libthread_db correspondente inferior, a depuração do encadeamento não estará disponível.
Ainda posso depurar, mas não posso depurar nada além do thread principal. Eu li fóruns que sugerem a instalação dos pacotes libthread-db1 e glibc-dbg, mas isso não corrige o problema para mim.
Na minha máquina eu tenho os 3 arquivos/lib/libthread_db.so.1
, /lib/.debug/libthread_db-1.0.so
e/lib/libthread_db-1.0.so
. Eu tentei criar links simbólicos em/lib
com o nomelibthread_db.so
, uma vez apontando para o/lib/libthread_db.so.1
arquivo, e outra hora apontando para o/lib/libthread_db-1.0.so
arquivo, e também criei o link simbólico/lib/.debug/libthread_db.so
apontando para/lib/.debug/libthread_db-1.0.so
, tudo sem sorte.
No gdb eu tentei definirlibthread-db-search-path
para/lib
(com o link simbólico uma vez configurado paralibthread_db.so.1
e uma vez paralibthread_db-1.0.so
e também definido como/lib/.debug
.
Alguma sugestão? Eu estou usando o Angstrom Linux v2.6.39 para o BeagleBoard-xm.