在移植gdb的过程中常会出现
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
的提示信息,libthread_db是用来支持“调试多线程程序”的函数库因为现在的程序绝大多数都是多线程的,所以这个问题还是必须要解决的。解决办法:
1.首先要确保目标板的系统中有libthread_db.so.1文件,如果没有可以在相应交叉编译工具的相关lib目录下找到,
   例如我的就放在“4.7.3/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf”下,需要把libthread_db-1.0.so拷贝到
   目标系统的/lib或/usr/lib等函数库可以访问到的目录中,并创建一个相应的软连接libthread_db.so.1
2.确保auto-load libthread-db已经启用,可以在gdb用“show auto-load libthread-db”命令查看,设置命令为
   ”set auto-load libthread-db [on|off]
3.需要设置auto-load safe-path, 这个路径实际上是被libthread_db信任的可执行程序(包括脚本)的路径,默认为空,
    所以gdb本 身也不被信任,所以需要配置其路径   如"set auto-load safe-path /bin:/usr/bin:....."
4.设置libthread-db-search-path,即设置libthread_db的所在路径,可以用show libthread-db-search-path命令查看其设置,
    设置命令为set libthread-db-search-path /lib到此为止问题应该就能解决了,有关 libthread-db的更多内容请访问:
http://www.sourceware.org/gdb/current/onlinedocs/gdb/libthread_005fdb_002eso_002e1-file.html
https://www.sourceware.org/gdb/current/onlinedocs/gdb/Auto_002dloading-safe-path.html#Auto_002dloading-safe-path
https://www.sourceware.org/gdb/current/onlinedocs/gdb/Threads.html#set%20libthread%2ddb%2dsearch%2dpath