Android13.0 Ndk崩溃问题定位解决

本文介绍了Android13.0系统中遇到的NDK崩溃问题的定位步骤。首先,从/data/tombstones目录找出崩溃的tombstone文件,然后通过tombstone的backtrace分析堆栈地址和相关so库。接着,利用addr2line工具,配合NDK(例如ndk-r14b)来定位问题,最后在jni的obj目录下通过addr2line命令确定出错的具体代码行。
摘要由CSDN通过智能技术生成

1、 找到崩溃记录的tombstone,在系统/data/tombstones目录下,根据文件创建时间,确定崩溃创建的是哪个tombstone。

2、 在tombstone中找到backtrace位置。左边红框崩溃时的堆栈地址,右边红框是引起崩溃的so库。

3、找到编译ndk对应的工具addr2line。如ndk-r14b,使用的是

/opt/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-addr2line,可自己在服务器设置export变量。

4、 在服务器上找到jni编译时,生成在对应obj目录的so库文件,如~/media/trunk_media/jni,对应的obj目录是~/media/trunk_media/obj/local/armeabi-v7a。

在该目录下输入命令,即可定位哪一行出现问题。

/opt/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-addr2line -e libMediaTransport.so 0x0000da8a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码友会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值