2010-11-10 56 views
0

我想调试(使用gdb)多线程程序,其中 使用POSIX线程。像在pthread库中缺少调试符号

我得到消息:

Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done. 

貌似库不与-g选项编译。

我在哪里可以找到这个库?我试图在网上找到它 ,但我没有得到正确的答案...

请帮忙。

回答

5

首先,除非你真的想进入pthread函数 - 或任何其他库 - 你不需要该库的调试信息。您仍然可以调试主应用程序,而无需让自己进入库。

如果您认为图书馆存在问题,请深呼吸并再次查看您的代码。大多数通用的库(如pthread)都有非常稳定的代码。如果您仍然想要在pthread_cond_wait()内部进行同步,请为您的库寻找类似“[pkg] -debuginfo”的包。它应该有你想要的。

+1

在基于debian的发行版中,带有调试符号的包称为'* -dbg'。 (并不是说我认为你实际上也需要调试pthread。) – Cascabel 2010-11-10 18:22:01

2

它可能取决于你的操作系统,分配什么。在我的Ubuntu系统上有

/usr/lib/debug/lib/libpthread-2.11.1.so 
0

,如果你找不到你的系统DBG库,你可以看看使用 apt-file find 'library name' | grep dbg 所需的软件包调试版本并安装系统所需的一个。