GDB не видит никаких тем кроме - PullRequest
4 голосов
/ 31 июля 2010

GDB не видит никаких потоков, кроме того, в котором произошел сбой; или SIGTRAP убивает мою программу, когда я устанавливаю точку останова.

1 Ответ

6 голосов
/ 31 июля 2010

Это часто случается в Linux, особенно для встроенных целей.Существует две распространенные причины:

  • вы используете glibc и удалили libpthread.so.0
  • несоответствие между libpthread.so.0 и libthread_db.so.1

Сам GDB не знает, как декодировать "блоки управления потоками", поддерживаемые glibc и считающиеся частной реализацией glibc.Он использует libthread_db.so.1 (часть glibc), чтобы помочь ему в этом.Следовательно, libthread_db.so.1 и libpthread.so.0 должны совпадать в флагах версии и компиляции.Кроме того, libthread_db.so.1 требует присутствия определенных неглобальных символов в libpthread.so.0.

Решение: используйте strip --strip-debug libpthread.so.0 вместо strip libpthread.so.0.

Если вы выполняете удаленную отладку, убедитесь, что libpthread.so.0 для цели и libthread_db.so.1 для хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...