android - 如何使用 cmake 调试 Qt-Android 应用程序构建?
问题描述
我想调试一个使用 cmake(而不是 qmake)构建的基于 Qt 的 Android 应用程序。
该androiddeployqt
命令捆绑 apk 并添加gdbserver
. 然后我可以通过以下方式启动 gdb 服务器:
adb shell run-as com.package.name /data/data/com.package.name/lib/libgdbserver.so --once :5055 --attach $PID
我还将端口转发到我的桌面通过adb forward tcp:5055 tcp:5055
gdb
从成功附加,Qt-Creator
但似乎缺少一些东西。我没有显示任何符号,并且显示的线程数不一致。
解决方案
我终于设法让它运行起来。对于未来的文档,这是我所缺少的:我需要我的应用程序的库以及在调试模式下构建的 Qt 库。此外,我还需要手机中的可执行文件和库。我通过
adb pull /system/bin ./
adb pull /system/lib ./
adb 在拉取时会创建子文件夹,这是我的问题之一:所有这些文件都需要存储在一个文件夹中——所以我移动了它们。
最后我需要让 gdb 通过
set auto-solib-add on
set solib-search-path /tmp/adb
推荐阅读
- node.js - 无法使用 Bitbucket Pipeline 将 Angular 8 应用程序部署到 Heroku
- vim - 通过 Homebrew 下载 vim 后,如何添加 vimtex 插件?
- react-native - 如何在功能组件中使用 React Native Switch?
- python-3.x - 在 python 中建模 JSON 数据的最佳方法
- node.js - 仅限 Chromium 代理 https
- django - Django Rest 框架:序列化器上的共享字段
- prismjs - 为什么使用 PrismJS 的 npm 项目中没有突出显示某些语言?
- api - 如何使用不和谐命令创建 trello 卡?
- swiftui - 防止点击时突出显示 VStack 中的 NavigationLink
- scala - IntelliJ Scala maven构建jar不生成类文件