首页 > 解决方案 > 如何使用 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但似乎缺少一些东西。我没有显示任何符号,并且显示的线程数不一致。

标签: androidqtgdbgdbserver

解决方案


我终于设法让它运行起来。对于未来的文档,这是我所缺少的:我需要我的应用程序的库以及在调试模式下构建的 Qt 库。此外,我还需要手机中的可执行文件和库。我通过

adb pull /system/bin  ./
adb pull /system/lib  ./

adb 在拉取时会创建子文件夹,这是我的问题之一:所有这些文件都需要存储在一个文件夹中——所以我移动了它们。

最后我需要让 gdb 通过

set auto-solib-add on
set solib-search-path /tmp/adb

推荐阅读