jni代码崩溃如何分析
在开发过程中如果jni中代码崩溃了,logcat中不会显示具体的行号,只显示某个函数+233这样的偏移位置。如果想查看偏移的代码是什么,需要在ida中打开so,找到函数体,在汇编代码视图点击指令,ida的底部会显示函数名字+偏移量。
这样方式不够直观,但是排查别人的so可以的。
如果在自己开发过程中排查,可以使用ndk提供的工具。
经过我的测试,ndk-stack -sym的功能居然无法dump出行号。
最后是使用
addr2line -e /Users/os/android/gitee/jni/c-prop/app/build/intermediates/cmake/debug/obj