开头的几个属性
Identifier
App的Identifier 一般是“com.xxx.yyy”,xxx代表你们公司的域名,yyy代表某一个App
Parent Process
当前进程的父进程,由于iOS中App通常都是单进程的,一般父进程都是launchd
Exception Type
EXC_CRASH (SIGABRT):
异常退出
因为未知Objective-C异常而进程被终止产生的崩溃报告
EXC_BAD_ACCESS (SIGSEGV):
错误内存访问
因为取一个空指针的值(dereferenced a NULL pointer)而进程被终止产生的崩溃报告
此类型的Excpetion是我们最长碰到的Crash,通常用于访问了不改访问的内存导致。
EXC_BREAKPOINT(SIGTRAP):
陷阱追踪
括号内补充信息的含义
要把这个字母分开来看 就能看懂 SIG XXX
SIG应该是sign的意思
SIGSEGV: 通常由于重复释放对象导致,这种类型在切换了ARC以后应该已经很少见到了。
SIGABRT: 收到Abort信号退出,通常Foundation库中的容器为了保护状态正常会做一些检测,例如插入nil到数组中等会遇到此类错误。
SEGV:(Segmentation Violation),代表无效内存地址,比如空指针,未初始化指针,栈溢出等;
SIGBUS:总线错误,与 SIGSEGV 不同的是,SIGSEGV 访问的是无效地址,而 SIGBUS 访问的是有效地址,但总线访问异常(如地址对齐问题)
SIGILL:尝试执行非法的指令,可能不被识别或者没有权限