墓碑文件

在Android开发中,程序崩溃分三种情况:

  未捕获的异常

  ANR(Application Not Responding:应用程序不响应)

  闪退(NDK程序引发错误)

JDK(Java Development Kit)

SDK(Software Development Kit)

NDK(Native Development Kit:原生开发工具,这里的原生,主要是指C语言)和SDK一样,都是用来给Android设备开发软件用的,但和SDK不同的是NDK所用语言是C,而SDK用的是Java,NDK开发的软件在Android的环境里是直接运行的,一般只能在特定的CPU指令集的机器上运行,而且C语言可以直接和硬件对话,一般用它开发驱动或底层应用,而SDK开发出的软件在Android上靠Dalvik虚拟机来运行,所以如果没有特殊的需求或要专门针对某个硬件去开发,那就SDK。

默认情况下,在Android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间是10秒

墓碑文件位于/data/tombstones/下

墓碑文件主要由以下几部分组成:

  构建指纹

  崩溃的过程和PID

  终止信号和故障地址

  CPU寄存器

  调用堆栈

  堆叠每个对话的内容

我们主要是分析崩溃的过程和PID,终止的信号,故障地址和调用堆栈部分

SIGSEGV  内存引用无效

SIGBUS    访问内存对象的未定义部分

SIGFPE    算术运算错误,比如除以零

SIGILL      非法的指令

SIGSYS    糟糕的系统调用

SIGXCPU      超过CPU时间限制

SIGXFSZ  文件大小限制

posted @ 2018-08-30 15:28  c&z  阅读(1542)  评论(0编辑  收藏  举报