我试图让 NDK 调试器工作,但到目前为止没有成功。
为了确保我的调试符号存在且有效,我使用编译器选项 -O0 和 -g,以及 ndk-build 参数 NDK_DEBUG=1。
ndk-gdb 脚本运行没有问题并启动 GDB。当执行“共享库”命令时,我得到这个:
Symbols already loaded for /bla/bla/libMySharedLib.so
但是,当我尝试中断执行或添加段错误进行测试时,我从未在调用堆栈中从该库中获得任何符号。我得到的唯一符号来自 libc,例如,如果我在等待互斥锁时中断执行。还尝试添加断点但没有运气。GDB 让我添加断点,代码运行良好,但断点从未被触发。
我正在使用 API 级别 8,因为我需要支持 Android 2.2 (Froyo)。