NDK 使用 addr2line 定位 Fatal signal (SIGSEGV) 错误

在Android开发中,使用NDK编写C/C++原生代码时,遇到真机崩溃问题。通过logcat查看错误堆栈,可以使用addr2line工具从obj目录下的带有调试信息的SO文件中定位错误源代码位置,因为libs目录的库文件不含调试信息,addr2line无法解析。
摘要由CSDN通过智能技术生成

使用NDK编写native code时候,真机常会出现crash的错误。然后logcat就是一片错误堆栈。

I/DEBUG   ( 2562): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 40123d5c

I/DEBUG   ( 2562): backtrace:
I/DEBUG   ( 2562):     #00  pc 00000d5c  <unknown>
I/DEBUG   ( 2562):     #01  pc 0009f8db  /system/lib/libstagefright.so (android::SmoothStreamingExtractor::SmoothStreamingExtractor(android::sp<android::DataSource> const&)+366)
I/DEBUG   ( 2562):     #02  pc 00082f89  /system/lib/libstagefright.so (android::MediaExtractor::Create(android::sp<android::DataSource> const&, char const*)+500)
I/DEBUG   ( 2562):     #03  pc 00045cdf  /system/lib/libmediaplayerservice.so (android::AmlogicPlayerExtractorDemux::AmlogicPlayerExtractorDemux(AVFormatContext*)+438)
I/DEBUG   ( 2562):     #04  pc 0004602d  /system/lib/libmediaplayerservice.so (android::AmlogicPlayerExtractorDemux::extractor_read_header(AVFormatContext*, AVFormatParameters*)&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值