我正在尝试调试(使用gdb)一个多线程程序,其中 使用POSIX线程。
我收到的消息如下:
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
看起来这个库没有用-g选项编译。
我在哪里可以找到这个图书馆?我试图找到它 在网上,但我没有得到正确答案...
请帮忙。
答案 0 :(得分:4)
首先,除非您真的想要进入pthread函数或任何其他库,否则您将不需要该库的调试信息。您仍然可以在不进入库的情况下调试主应用程序。
如果您认为图书馆存在问题,请深呼吸并再次查看您的代码。最常见的库(如pthread)具有非常可靠的代码。如果您仍想在pthread_cond_wait()中查找,请查找您的库的包,其类似于“ [pkg] -debuginfo”。它应该有你想要的东西。
答案 1 :(得分:2)
这可能很大程度上取决于您的操作系统,分发等等。在我的ubuntu系统上有
/usr/lib/debug/lib/libpthread-2.11.1.so
答案 2 :(得分:0)
如果您无法在系统中找到dbg库,则可以查看所需的软件包调试版本
apt-file find 'library name' | grep dbg
并安装系统所需的一个。