如何在发生崩溃时识别iOS应用程序的状态

时间:2016-11-17 10:25:15

标签: ios objective-c exc-bad-access crash-log kern-invalid-address

使用以下崩溃日志堆栈。我可以说崩溃发生时App处于Foreground状态。因为我可以看到UIKit来电。应该如何确定应用程序的各种状态。例如Suspended / Background / Foreground

**

#0
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x00000000f158936c

**

Crashed: com.apple.main-thread
0  libobjc.A.dylib                0x3a72c626 objc_msgSend + 5
1  CoreFoundation                 0x2feae16b +[__NSArrayI __new:::] + 58
2  CoreFoundation                 0x2feab945 -[__NSPlaceholderArray initWithObjects:count:] + 172
3  CoreFoundation                 0x2feb5341 +[NSArray arrayWithObjects:count:] + 44
4  CoreFoundation                 0x2feeb1bb -[NSDictionary allKeys] + 174
5  UIKit                          0x3292430f -[UITouchesEvent _cloneEvent] + 342
6  UIKit                          0x32786df9 _UIGestureRecognizerUpdate + 5240
7  CoreFoundation                 0x2ff3d255 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20
8  CoreFoundation                 0x2ff3abf9 __CFRunLoopDoObservers + 284
9  CoreFoundation                 0x2ff3af3b __CFRunLoopRun + 730
10 CoreFoundation                 0x2fea5ebf CFRunLoopRunSpecific + 522
11 CoreFoundation                 0x2fea5ca3 CFRunLoopRunInMode + 106
12 GraphicsServices               0x34dab663 GSEventRunModal + 138
13 UIKit                          0x327f214d UIApplicationMain + 1136
14 MyApp                          0xff6bf main (main.m:16)
15 libdyld.dylib                  0x3ac2fab7 start + 2

1 个答案:

答案 0 :(得分:1)

com.apple.main-thread是加载ViewController UI的主线程。 由于崩溃在主线程上,因此应用程序将在前台运行。 我希望它有所帮助。