android ndk程序crash解决手段

在Android环境下,当native程序崩溃时,可通过tombstone文件、logcat和core文件来分析crash。tombstone文件在/data/tombstone目录下,包含关键的崩溃信息。此外,logcat记录崩溃日志,而gdb可用于core文件分析。利用这些手段可以还原并定位问题。
摘要由CSDN通过智能技术生成

背景

在linux x86系统中,如果程序发生了crash,可以通过core dump生成core文件,然后gdb进行分析,这方面的资料很多。

在android环境中,native程序crash,该怎么办呢?也可以生成core文件,然后用安卓编译工具链里面的gdb等工具进行分析,这块可以参考:Android 下基于core文件分析crash信息

同时,当native程序崩溃时,安卓会在/data/tombstone目录下生成对应的tombstone文件,该文件提供了程序崩溃时的pid、tid、出错信号类型、线程堆栈信息等等,这些信息是我们解决crash的关键内容。

当然,上述crash信息也会在logcat中有记录,但是当你的环境中logcat因为某些原因没抓到、或者系统不小心死机后,上述crash信息就会丢失了,这时候持久化的tombstone文件提供了crash现场的目击者信息

所以,当安卓native程序crash时,可以通过logcat看crash信息、分析tombstone文件或用gdb分析core文件这几种手段去还原crash现场的信息,进一步分析问题所在

参考

关于tombstone的解析以及anroid提供的一些辅助工具(如addr2line等),已有很多不错的博文可以参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值