使用CodeBlocks调试共享C ++库

时间:2013-07-29 15:20:17

标签: c++ codeblocks

我有一个与在Ubuntu中使用代码块调试共享库有关的问题。当我使用共享库运行程序时,我没有问题。然而,主要的问题是,当我调试程序时,我无法进入共享库的源代码。提供了共享库的源代码,我在构建程序之前首先构建了共享库。我想我需要在运行调试之前为程序的codeblocks项目设置一些参数,但我不知道应该在哪里进行设置。非常感谢。

编辑:

我的项目结构是这样的:

./program将调用run_test.so

的正在运行的应用程序

run_test.so将调用basic_library.so

的测试动态库

basic_library.sorun_test.so

调用的库

当我调试./program项目时,我可以进入run_test.so的源代码,但是当我想在{{1}的源代码中介入来自basic_library.so的函数时}}, 我有问题。它只是忽略了进入命令的步骤。

2 个答案:

答案 0 :(得分:1)

仔细检查后,我发现无法调试共享库的原因,在CMAKE脚本中我有以下代码:

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

删除--strip-all后,我现在可以调试了。

答案 1 :(得分:0)

您需要使用调试符号构建共享库。有说明here
基本上,Project build options | Produce debugging symbols