我正在尝试调试我使用 android ndk-build 脚本构建的一些 native 代码,但遇到了一个小障碍。我已经将 native 代码编译到一个共享库中,我想在 eclipse 中使用 ndk-gdb 对其进行调试。代码是使用
构建的APP_OPTIM := debug
在 Application.mk 文件中,我还添加了 -g 标志以确保安全。
Eclipse 配置为调试 native 代码,我可以连接到设备上的 gdbserver,但由于 gdb 出现以下错误,我无法设置断点:
496-break-insert /home/lithium/workspace/supermariowar/jni/SMW/SDL_android_main.cpp:17
No source file named /home/lithium/workspace/supermariowar/jni/SMW/SDL_android_main.cpp.
&"No source file named /home/lithium/workspace/supermariowar/jni/SMW/SDL_android_main.cpp.\n"
496^done
(gdb)
499-exec-continue
499^running
(gdb)
在显示的位置确实有一个名为 SDL_android_main.cpp 的文件,但这是我遇到的错误,此时它不会命中断点。
如有任何想法或建议,我们将不胜感激。
-克拉克-
最佳答案
该错误并不意味着 GDB 看不到 /home/lithium/workspace/supermariowar/jni/SMW/SDL_android_main.cpp
。相反,这意味着 GDB 在当前加载的可执行文件和共享库中看不到该源的调试信息。
可能是你的共享库还没有加载。
或者可能是 GDB 知道该文件,但使用其他名称。尝试 info sources
或 break SDL_android_main.cpp:17
关于android - ndk-gdb 和 eclipse "No Source File named...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7459140/