crash日志学习(初步)

这篇博客介绍了如何通过crash日志分析iOS应用的崩溃原因,包括进程信息、异常类型、线程回溯等关键部分。特别提到了异常编码如0x8badf00d、0xbad22222等,并解释了不同编码所代表的崩溃情况。还讨论了常见的Exception Type,如EXC_BAD_ACCESS和EXC_ARITHMETIC,帮助开发者识别并解决应用中的错误。
摘要由CSDN通过智能技术生成

//1.进程信息:这部分是闪退进程的相关信息
//崩溃报告的唯一标识符,用以标识不同的崩溃信息
Incident Identifier: C8F7C4F0-2F16-47AC-BD37-43A877537623
//与设备标识相对应的唯一键值。不是真正的设备标识符(UUID 苹果为了保护用户隐私iOS6以后已经无法获取了),但也是有用的情报;如果崩溃日志有100个的CrashReporter Key值是相同的,或者只有少数几个不同的CrashReporter Key值,说明这个崩溃问题不是一个普遍的问题,只发生在一个或少数几个设备上。就是说同一个设备上同一版本的APP发生crash时,该值是一样的。
CrashReporter Key: 6935196ff64432f66495e545897856df6ff3e1e6
//设备标识类型(祥见另一篇日志),如果很多崩溃日志都是来自相同的设备类型,说明应用只在这些特定类型的设备上有问题。此处的崩溃日志产生的设备是iPhone6
Hardware Model: iPhone7,2
//应用名称,中括号里面的数字是闪退时应用的进程ID(出于隐私这里隐藏了应用程序名)
Process: 应用名[9596]
//路径,崩溃日志的储存位置
Path: /var/mobile/Containers/Bundle/Application/F1017AD0-D477-427F-85CC-0C1FE4F4385D/应用名.app/应用名
//崩溃应用的bundle id
Identifier: com.*.****
//崩溃应用版本号,由info.plist中的两个字段组成:CFBundleShortVersionString + CFBundleVersion
Version: 1.0.1 (1.1.1)
//当前APP的CPU架构
Code Type: ARM-64 (Native)
//当前进程的父进程,由于iOS中APP通常是单进程的,一般父进程都是launchd
Parent Process: debugserver [9595]

//2.基本信息:包含闪退发生的日期时间,崩溃设备的iOS系统版本
//crash发生的时间
Date/Time: 2016-03-03 16:53:52.52 +0800
//程序开始时间
Launch Time: 2016-03-03 16:52:49.49 +0800
//系统版本(括号内代表build号)
OS Version: iOS 9.2.1 (13D15)
//crash日志的格式,目前基本上都是104,不同version里面包含的字段可能有不同
Report Version: 105

//3.异常(非常重要):闪退发生时抛出的异常类型Exception Type、异常子类型Exception Subtype、抛出异常的线程Triggered by Thread,更多时候会有Exception Codes异常编码字段,该字段可以较精确知道崩溃的原因是哪种类型的
Exception Type: EXC_RESOURCE
Exception Subtype: WAKEUPS
Exception Message: (Limit 150/sec) Observed 709/sec over 300 secs
Exception Note: NON-FATAL CONDITION (this is NOT a crash)
Triggered by Thread: 9

Filtered syslog:
None found

Global Trace Buffer (reverse chronological seconds):
50.089345 CFNetwork 0x0000000183317104 TCP Conn 0x12f1e3900 complete. fd: 5, err: 0
50.090921 CFNetwork 0x0000000183318630 TCP Conn 0x12f1e3900 event 1. err: 0
50.224002 CFNetwork 0x0000000183318708 TCP Conn 0x12f1e3900 started
55.756394 CFNetwork 0x000000018327584c TCP Conn 0x12f1b9ed0 SSL Handshake DONE
55.861968 CFNetwork 0x0000000183317104 TCP Conn 0x12f0f9000 complete. fd: 7, err: 0
55.862506 CFNetwork 0x000000018327575c TCP Conn 0x12f1b9ed0 starting SSL negotiation
55.862844 CFNetwork 0x0000000183317104 TCP Conn 0x12f1b9ed0 complete. fd: 5, err: 0
55.863657 CFNetwork 0x0000000183318630 TCP Conn 0x12f0f9000 event 1. err: 0
55.863985 CFNetwork 0x0000000183318630 TCP Conn 0x12f1b9ed0 event 1. err: 0
56.021943 CFNetwork 0x0000000183318708 TCP Conn 0x12f0f9000 started
56.086950 CFNetwork 0x0000000183318708 TCP Conn 0x12f1b9ed0 started
60.314451 CFNetwork 0x000000018327584c TCP Conn 0x12f204670 SSL Handshake DONE
60.318609 CFNetwork 0x000000018327584c TCP Conn 0x12f202570 SSL Handshake DONE
60.419179 CFNetwork 0x000000018327575c TCP Conn 0x12f204670 starting SSL negotiation

//4.线程回溯:提供应用中所有线程的回溯日志。回溯是闪退发生时所有活动帧清单,包含闪退发生时调用函数的清单。
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x00000001828254bc mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000182825338 mach_msg + 72
2 CoreFoundation 0x0000000182c54ac0 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x0000000182c527c4 __CFRunLoopRun + 1032
4 CoreFoundation 0x0000000182b81680 CFRunLoopRunSpecific + 384
5 GraphicsServices 0x0000000184090088 GSEventRunModal + 180
6 UIKit 0x00000001879f8d90 UIApplicationMain + 204
7 BankOfLuoYang 0x00000001001d4874 0x100070000 + 1460340
8 libdyld.dylib 0x00000001827228b8 start + 4

Thread 1:
0 libsystem_kernel.dylib 0x0000000182840b6c __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000182905530 _pthread_wqthread + 1284
2 libsystem_pthread.dylib 0x0000000182905020 start_wqthread + 4

Thread 2 name: Dispatch queue: com.apple.libdispatch-manager
Thread 2:
0 libsystem_kernel.dylib 0x00000001828414fc kevent_qos + 8
1 libdispatch.dylib 0x00000001013be270 0x1013a8000 + 90736
2 libdispatch.dylib 0x00000001013abe2c 0x1013a8000 + 15916

Thread 3 name: gputools.smt_poll.0x12de35910
Thread 3:
0 libsystem_kernel.dylib 0x0000000182840440 __semwait_signal + 8
1 libsystem_c.dylib 0x000000018275d22c nanosleep + 212
2 libsystem_c.dylib 0x000000018275d14c usleep + 68
3 GPUToolsCore 0x00000001014189f0 0x101410000 + 35312
4 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
5 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
6 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 4:
0 libsystem_kernel.dylib 0x000000018283ff48 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x0000000182906ce8 _pthread_cond_wait + 648
2 BankOfLuoYang 0x00000001004b5224 0x100070000 + 4477476
3 BankOfLuoYang 0x00000001004b56d4 0x100070000 + 4478676
4 BankOfLuoYang 0x00000001004b27b4 0x100070000 + 4466612
5 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
6 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
7 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 5 name: org.hxhg.jpush.thread
Thread 5:
0 libsystem_kernel.dylib 0x00000001828254bc mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000182825338 mach_msg + 72
2 CoreFoundation 0x0000000182c54ac0 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x0000000182c527c4 __CFRunLoopRun + 1032
4 CoreFoundation 0x0000000182b81680 CFRunLoopRunSpecific + 384
5 CoreFoundation 0x0000000182bcee2c CFRunLoopRun + 112
6 BankOfLuoYang 0x0000000100689990 0x100070000 + 6396304
7 Foundation 0x000000018365fc40 NSThread__start + 1000
8 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
9 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
10 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 6 name: com.apple.NSURLConnectionLoader
Thread 6:
0 libsystem_kernel.dylib 0x00000001828254bc mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000182825338 mach_msg + 72
2 CoreFoundation 0x0000000182c54ac0 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x0000000182c527c4 __CFRunLoopRun + 1032
4 CoreFoundation 0x0000000182b81680 CFRunLoopRunSpecific + 384
5 CFNetwork 0x00000001832f1434 +[NSURLConnection(Loader) _resourceLoadLoop:] + 412
6 Foundation 0x000000018365fc40 NSThread__start + 1000
7 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
8 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
9 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 7 name: com.apple.CFSocket.private
Thread 7:
0 libsystem_kernel.dylib 0x0000000182840368 __select + 8
1 CoreFoundation 0x0000000182c5b028 __CFSocketManager + 648
2 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
3 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
4 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 8:
0 libsystem_kernel.dylib 0x000000018283ff48 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x0000000182906ce8 _pthread_cond_wait + 648
2 BankOfLuoYang 0x00000001004b5224 0x100070000 + 4477476
3 BankOfLuoYang 0x00000001004b56d4 0x100070000 + 4478676
4 BankOfLuoYang 0x000000010049578c 0x100070000 + 4347788
5 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
6 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
7 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 9 Attributed:
0 libsystem_kernel.dylib 0x0000000182840440 __semwait_signal + 8
1 libsystem_c.dylib 0x000000018275d22c nanosleep + 212
2 libsystem_c.dylib 0x000000018275d14c usleep + 68
3 BankOfLuoYang 0x00000001004a6c78 0x100070000 + 4418680
4 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
5 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
6 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

Thread 10:
0 libsystem_kernel.dylib 0x0000000182840440 __semwait_signal + 8
1 libsystem_c.dylib 0x000000018275d22c nanosleep + 212
2 libsystem_c.dylib 0x000000018275d14c usleep + 68
3 BankOfLuoYang 0x00000001004b6270 0x100070000 + 4481648
4 libsystem_pthread.dylib 0x0000000182907b28 _pthread_body + 156
5 libsystem_pthread.dylib 0x0000000182907a8c _pthread_body + 0
6 libsystem_pthread.dylib 0x0000000182905028 thread_start + 4

//5.线程状态:闪退时寄存器中的值,一般在回溯部分的信息已经足够充分,此部分一般不需要。
Thread 9 crashed with ARM Thread State (64-bit):
x0: 0x000000000000003c x1: 0x0000000000000000 x2: 0x0000000000000001 x3: 0x0000000000000001
x4: 0x0000000000000000 x5: 0x00000000000f4240 x6: 0x0000000000000000 x7: 0x00000000000004c0
x8: 0x00000001a03fdce8 x9: 0x0000000000000011 x10: 0x00000000000003e8 x11: 0xffffffffffffffff
x12: 0x0000000000000001 x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值