我遵循了一些在线教程,尝试设置 gdb 来调试本机代码:
- 《Android NDK 初学者指南》一书的第 11 章。
- 视频:http ://www.youtube.com/watch?v=hMV7Xqcn39k&list=PLD89B891EF9D26F14&feature=mh_lolz
- 论坛:http ://wiki.eclipse.org/Sequoyah/ndk_guide
他们都没有让我的调试器完全工作。
我现在通过以下步骤遇到了一个特定问题,以上所有教程都同意这些步骤是调试本机代码的正确步骤:
- 在 Eclipse 中,启动我的 JAVA 调试会话并在我的 onCreate() 方法中的第一个断点处停止。
- 在终端中,在我的项目文件夹下,运行 ndk-build-eclipse(原始 ndk-gdb 的副本,没有关于自动连接 gdb 客户端到服务器的最后一行),没有明显的警告或错误。
- 在终端中, chmod +x MY_PROJECT/obj/local/armeabi/app_process (我在 Mac 上),否则我会得到“无法运行 MY_PROJECT/obj/local/armeabi/app_process,原因不明”错误。这个 app_process 在我的 C++ 调试配置中设置为 GDB 调试器。
- 在 Eclipse 中,启动我的 C++ 调试配置。
然后我得到一个错误对话框说:
Error creating session
Process Terminated
Process Terminated
Process Terminated