我使用ndk-gdb调试Android平台上的一些本机代码。但是,调试器似乎无法找到源行号和源文件。我得到这样的警告和错误:
warning: shared library handler failed to enable breakpoint
0xaff0c184 in ?? ()
和
Program received signal SIGSEGV, Segmentation fault.
0x80e030a8 in ?? ()
这根本不是很有用......在我看来问题必须在文件和行号查找中,但由于我对Android的原生编程很新,我和# 39;有点卡在这里。那么有人能告诉我如何解决这个问题吗?非常感谢任何帮助!
修改1 :
我在Windows上使用NDK r7b并使用以下选项调用ndk-build
脚本:
$NDK/ndk-build NDK_DEBUG=1 APP_OPTIM=debug V=1
APP_OPTIM = debug设置是对ndk-build脚本的修改,应根据these指令禁用调试符号的剥离。
编辑2 : 我还没有解决这个问题,但是通过在Ubuntu linux上使用NDK来解决这个问题。它有点像放弃NDK,但是Android平台的Linux根源一再让它在Windows上开发本机代码感觉不自然和笨拙。
亲切的问候,
纳斯