在Qt Creator Android项目中调试外部共享库

时间:2015-06-26 14:55:35

标签: qt debugging gcc shared-libraries qt-creator

我有使用外部C ++库的Qt Quick Android应用程序。

我自己使用CMake构建此库,CMAKE_BUILD_TYPE设置为Debug。当我在Qt Creator调试模式下启动应用程序时,我可以在我的Qt代码中停止断点,但它不会跳转到库调用,我只看到汇编列表。

是否有可能告诉调试器库源代码在哪里,甚至可以在Android中进行调试?

1 个答案:

答案 0 :(得分:0)

好的,这绝对是可能的。

首先,确保您确实拥有.so库中的所有调试信息:

<path-to-your-NDK>/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/bin/objdump -S <your-lib-name>.so | less

您应该看到汇编程序和C ++代码的混合,这表明您的库包含调试符号。

之后确保Qt Creator能够在调试会话期间找到您的库。开始&#34;调试&#34;,然后Windows-&gt; Views-&gt;调试器日志打开gdb控制台。执行:

show solib-search-path

查看gdb尝试查找库的目录的完整列表。如果您的库尚未存在,请添加路径,例如:

set solib-search-path <old-value>:<path-to-your-library>

我知道它有点蹩脚,应该有办法实现自动化。但它对我有用。