Crash 日志

Signal信号的类型
SIGABRT–程序中止命令中止信号
SIGALRM–程序超时信号
SIGFPE–程序浮点异常信号
SIGILL–程序非法指令信号
SIGHUP–程序终端中止信号
SIGINT–程序键盘中断信号
SIGKILL–程序结束接收中止信号
SIGTERM–程序kill中止信号
SIGSTOP–程序键盘中止信号
SIGSEGV–程序无效内存中止信号
SIGBUS–程序内存字节未对齐中止信号
SIGPIPE–程序Socket发送失败中止信号

标识
Identifier: bundle id
Version: 应用版本号
Hardware Model: 设备型号
Process: 当前应用的名称,后面中括号中为当前的应用在系统中的进程id
Path: 当前应用在设备中的路径
Incident Identifier: 报告的唯一标识符,两份报告决不会共享同一个事件标识符。
CrashReporter Key:每个设备的匿名标识符,来自同一设备的两个报告将包含相同的值。
Process:很明显是我们的进程名称。
Date/Time 与 Launch Time:报告生成时间与程序开始运行时间
Exception Type:异常类型
Exception Note:不属于异常类型的附加信息,如果这个字段包含SIMULATED(不是崩溃),那这个进程不是崩溃的,而是在系统的请求下被杀死,通常是看门狗机制起了作用(APP内一段时间内无法响应用户的操作,会被系统kill)。
Triggered by Thread: 在某一个线程出了问题导致crash,Thread 0 为主线程、其它的都为子线程
Last Exception Backtrace: 最后异常回溯,一般根据这个代码就能找到crash的具体问题

常见报错
0x8badf00d:看门狗机制
- a 应用程序打开超过5s
- b 执行一个同步网络调用而阻塞主线程
- c 手动杀了主线程,程序以为是crash
- d 通常原因是前台线程过多,死锁,或CPU使用率持续过高等
0xdeadfa11:用户强制退出,意为“dead fall”。
0xbaaaaaad:用户按住Home键和音量键,获取当前内存状态,不代表崩溃。
0xbad22222:VoIP应用(因为太频繁?)被iOS干掉。
0xc00010ff:因为太烫了被干掉,意为“cool off”。
0xdead10cc:因为在后台时仍然占据系统资源(比如通讯录)被干掉,意为“dead lock”。

你可能感兴趣的:(Crash 日志)