一 、 什么是Native Crash :
最简单的理解就是发生在Native世界里的异常,当然你也可以更直接一些,发生在lib库里异常。
常见的native crash有 SIG 7/11 等,尤其是这两个哥们,在新项目阶段的出场率还是非常高的,访问非法内存/内存对齐诸如此类。
二、如何分析Native Crash:
发生nativeCrash的时候,通常可以从mainlog中看到如下打印:
01-01 08:44:29.559 133 133 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-01 08:44:29.559 133 133 I DEBUG : Build fingerprint: 'XXXXXXXXXXX:user/release-keys'
01-01 08:44:29.569 133 133 I DEBUG : pid: 261, tid: 326, name: AudioService >>> system_server <<<
01-01 08:44:29.569 133 133 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPER

本文总结了Android Native Crash的定义,分析方法以及如何使用GDB进行离线和在线调试。通过GDB命令,如bt、p、disass等,可以定位并解决问题。对于可复现的问题,可以通过gdbserver进行在线调试。
最低0.47元/天 解锁文章
335

被折叠的 条评论
为什么被折叠?



