在Qt Creator Android项目中调试外部共享库 [英] Debug external shared library in Qt Creator Android project
本文介绍了在Qt Creator Android项目中调试外部共享库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个使用外部C++库的Qt Quick Android应用程序。
我使用CMake自己构建了这个库,CMAKE_BUILD_TYPE
被设置为Debug
。当我在Qt Creator调试模式下启动应用程序时,我可以在Qt代码中的断点处停止,但它不会跳到库调用中,我只看到汇编程序清单。
可以告诉调试器库源代码在哪里吗?是否可以这样在Android中进行调试?
推荐答案
好的,这绝对是可能的。
首先,确保您确实在.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能够在调试会话期间找到您的库。启动Debug,然后Windows->Views->Debugger Log打开GDB控制台。执行:show solib-search-path
查看gdb尝试在其中查找库的目录的完整列表。如果库中还没有路径,则将其添加到库中,如:
set solib-search-path <old-value>:<path-to-your-library>
我知道这有点蹩脚,应该有一种方法来自动化这一点。但这对我很管用。
这篇关于在Qt Creator Android项目中调试外部共享库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文