我想调试使用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
成功,但似乎缺少某些东西。
没有显示任何符号,显示的线程数不一致。
答案 0 :(得分:0)
我终于设法使其运行。对于将来的文档,这是我所缺少的: 我需要我的应用程序库以及在调试模式下构建的Qt库。此外,我还需要手机中的可执行文件和库。我通过
获取了它们adb pull /system/bin ./
adb pull /system/lib ./
adb在拉动时会创建子文件夹,这是我的问题之一:所有这些文件都需要存储在一个文件夹中-因此我将它们移动了。
最后,我需要让gdb通过以下方式使用收集的文件
set auto-solib-add on
set solib-search-path /tmp/adb