美文网首页
jni crash错误定位

jni crash错误定位

作者: 璃云曦 | 来源:发表于2020-03-29 14:44 被阅读0次

    jni经常崩溃打印出addr日志,

    01-01 17:59:38.596: I/DEBUG(253): #03 pc 00000e80 /data/app-lib/com.example.hellojni-1/libhello-jni.so (__aeabi_idiv0+8)

    01-01 17:59:38.596: I/DEBUG(253): #04 pc 00000cf4 /data/app-lib/com.example.hellojni-1/libhello-jni.so (willCrash+32)

    对于Android 程序员来说比较抓瞎不知道如何解读。这种日志最多只能解读出哪个so出事了并不知道具体是哪一行出事。

    解决:

    使用arm-linux-androideabi-addr2line  定位出错位置

    使用的 ndk路径/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-addr2line -e 生成so库的项目路径/obj/local/armeabi-v7a/libhello-jni.so 00000cf4(错误地址)。

    注意:解读时使用的so库并非是你在lib目录调用的so库,而是你在编译该so库时在obj目录下产生的对应的那个so库。

    如果执行上面命令后打印出 hello-jni.c:10(具体的行号)则表示解读成功,可以去该行看看情况了。

    相关文章

      网友评论

          本文标题:jni crash错误定位

          本文链接:https://www.haomeiwen.com/subject/rwxuuhtx.html