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