我有一个与在Ubuntu中使用代码块调试共享库有关的问题。当我使用共享库运行程序时,我没有问题。然而,主要的问题是,当我调试程序时,我无法进入共享库的源代码。提供了共享库的源代码,我在构建程序之前首先构建了共享库。我想我需要在运行调试之前为程序的codeblocks项目设置一些参数,但我不知道应该在哪里进行设置。非常感谢。
编辑:
我的项目结构是这样的:
./program
将调用run_test.so
run_test.so
将调用basic_library.so
basic_library.so
由run_test.so
当我调试./program
项目时,我可以进入run_test.so
的源代码,但是当我想在{{1}的源代码中介入来自basic_library.so
的函数时}}, 我有问题。它只是忽略了进入命令的步骤。
答案 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