我正在尝试调试我使用android ndk-build脚本构建的一些本机代码并且遇到了一个小障碍。我已经将本机代码编译成共享库,我想在eclipse中使用ndk-gdb进行调试。代码使用
构建APP_OPTIM := debug
在Application.mk文件中,我还添加了-g标志,以确保。
Eclipse配置为调试本机代码,我可以连接到设备上的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的文件,但这是我得到的错误,此时它不会到达断点。
非常感谢任何想法或建议。
-Clark -
答案 0 :(得分:5)
错误并不意味着GDB无法看到/home/lithium/workspace/supermariowar/jni/SMW/SDL_android_main.cpp
。相反,这意味着GDB无法在可执行文件中找到该源的调试信息,并且当前已加载。
可能是您的共享库尚未加载。
或者可能是GDB知道该文件,但是在其他名称下。试试info sources
或break SDL_android_main.cpp:17