Android NDK调试碰到signal 11 (SIGSEGV), fault addr deadbaad

使用NDK开发的so文件在运行时崩溃,日志中提示
signal 11 (SIGSEGV), fault addr deadbaad
然后后面列出了一些寄存器值和pc代码行,stack等信息,根据pc代码行配合 arm-eabi-addr2line可以发掘出错位置所对应的函数名。用法如下;
arm-eabi-addr2line -f -e libmyjni.so 0×00024039 (输出日志中最上面的pc值,可以回溯最终函数调用顺序)

程序中需要有符号信息,不能使用下面的语句将调试符号剔除
build/prebuilt/linux-x86/arm-eabi-4.2.1/bin/arm-eabi-strip –strip-debug apps/NDKTest/project/libs/armeabi/libmyjni.so

Popularity: unranked [?]

Related

Comments

Leave a Reply