使用CodeBlocks调试共享C++库



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

编辑:

我的项目结构是这样的:

./program将调用run_test.so 的正在运行的应用程序

run_test.so将调用basic_library.so 的测试动态库

basic_library.sorun_test.so 调用的库

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

经过仔细检查,我发现了无法调试共享库的原因,在CMAKE scrip中,我有以下代码:

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

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

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

最新更新