2013-07-29 35 views
0

我有一個在Ubuntu中調試帶有代碼塊的共享庫的問題。當我使用共享庫運行程序時,我沒有任何問題。但是,主要的問題是,當我調試程序時,我無法進入共享庫的源代碼。提供了共享庫的源代碼,並且在構建程序之前我先構建共享庫。我想我需要在運行調試之前爲程序的codeblocks項目設置一些參數,但我不知道應該在哪裏進行設置。非常感謝。使用CodeBlocks調試共享C++庫

編輯:

我的項目結構是類似的東西:

./program正在運行的應用程序將調用run_test.so

run_test.so測試動態庫將調用basic_library.so

basic_library.so的庫叫run_test.so

當我調試./program項目時,我可以進入run_test.so的源代碼,但是當我想步入來自源代碼中basic_library.so的函數時,我遇到了問題。它只是忽略了進入命令的一步。

回答

1

仔細的檢查之後,我發現我爲什麼不能調試共享庫,我有以下代碼的原因,在CMake的紙條:

set_target_properties(basic_library PROPERTIES LINK_FLAGS "-W1 --strip-all". 

之後我刪除--strip-all,我現在可以調試。

0

您需要使用調試符號構建共享庫。有說明here
從本質上講,Project build options | Produce debugging symbols

+0

感謝您的回答,但在我的代碼塊(Ubuntu中的12.11)中,沒有選項可用於生成調試符號。 – feelfree

+0

@feelfree你在code :: blocks中使用什麼編譯器(和版本),以及你有哪些版本的code :: blocks本身? – PeterT

+0

@PeterT我正在使用GCC編譯器,版本是4.6。在Ubuntu中Codeblocks的版本是12.11。 – feelfree