在Qt Creator Android项目中调试外部共享库 [英] Debug external shared library in Qt Creator Android project

查看:23
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆