У меня есть встроенное приложение ARM, которое связано со всеми демонтированными библиотеками, включая libpthread.so.Иногда приложение застревает в какой-то части кода, и я хочу иметь возможность подключиться к нему с помощью gdb и посмотреть, что происходит.Проблема в том, что GDB отказывается загружать необходимую библиотеку поддержки потоков, со следующими сообщениями:
Trying host libthread_db library: /home/me/debug_libs/libthread_db.so.1.
td_ta_new failed: application not linked with libthread
thread_db_load_search returning 0
warning: Unable to find libthread_db matching inferior's thread
library, thread debugging will not be available.
Из-за этого я не могу отладить приложение, например, я не вижу текущие стеки вызовов для всех потоков.После некоторого расследования я подозреваю, что сбой td_ta_new
с application not linked with libthread
вызван урезанной версией libpthread, в которой отсутствует символ nptl_version
.Есть ли способ обойти ошибку?GDB скомпилирован для ARM и запускается на самом устройстве.У меня есть свободные версии библиотек, но приложение уже работает с удаленными библиотеками.