在Qt Android应用程序中运行GDB服务器

时间:2017-09-05 22:27:53

标签: android c++ qt cmake

我有一个使用Qt框架构建android应用程序的项目。我使用CMake作为构建系统,使用CLion作为IDE。目前,我的CMake脚本可以构建.apk包并将其安装到设备上。

现在我想调试我的应用程序。问题是我不知道如何在android上运行gdbserver并使用Qt将其附加到进程。似乎可以使用.apk

将gdb服务器嵌入到androiddeployqt包中
--gdbserver: Adds the gdbserver to the package.
    By default the gdbserver is bundled for debug pacakges.

但我无法找到有关如何运行此gdbserver以及如何连接客户端的任何信息。

1 个答案:

答案 0 :(得分:0)

似乎如果--gdbserver已启用androiddeployqt,则将libgdbserver.so(实际上只是重命名为gdbserver二进制文件)放入libs/<abi>/ .apk目录中包。您可以使用来自主机的follow命令运行它:

adb shell run-as com.package.name /data/data/com.package.name/lib/libgdbserver.so --once +/data/data/com.package.name/debug_socket --attach $PID