2010-11-10 137 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 所需的軟件包調試版本並安裝系統所需的一個。