我使用Qt Creator开发Android动态库,即.so文件。然后,该 .so 文件将由 Android 应用程序使用,但该应用程序是在 Eclipse 中开发的。
我需要调试我的本机代码,但由于它是一个库,我无法从 Qt Creator 启动应用程序,我必须附加到已经运行的进程.
现在,如果它是桌面应用程序,我会使用Debug->Start Debugging->Attach to Running Application
,但是如何附加到 Android 进程,该进程将在模拟器或连接的手机上运行,这更像是远程调试?
我认为我应该使用Debug->Start Debugging->Attach to Running Debug Server
:
但是,我不确定确切的步骤是什么 - 如何启动 ADB 调试服务器,以及连接到哪个端口?
所以看起来可能还有另一种方法来设置可以正确连接的调试器。
http://lists.qt-project.org/pipermail/qt-creator/2012-June/001017.html http://lists.qt-project.org/pipermail/qt-creator/2012-June/001017.html
使用此版本的 gdb 设置工具链,并设置您的项目以使用它。
在“工具”->“选项”->“调试器”->“GDB”中,将命令插入“其他
启动命令”
...
我使用“调试”->“开始调试”->“附加到远程”。所有字段都是
那里(solib-absolute-prefix 是 sysroot 的别名,并且“位置
调试信息”是solib-search-path),最后几个
“配置”被存储,因此您可以轻松调用它们。我有
要在目标上手动启动 gdbserver,请设置快捷方式以打开
“附加到远程”对话框,它对我来说非常有效。
它很旧(2012 年 6 月),但它更详细地介绍了如何gdbserver
启动并设置调试器并附加到 Qt 中的进程。它还提到了一些相关的环境变量:
set solib-absolute-prefix $ANDROID_SRC/out/target/product/MYPRODUCT/symbols/
set solib-search-path $ANDROID_SRC/out/target/product/MYPRODUCT/symbols/system/lib/
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)