我在应用程序商店上获得了这个应用程序,在10天内我遇到了超过6000次崩溃!我可以在HockeyApp上看到的堆栈跟踪非常神秘,而且根据iOS版本(5或6)我也有2种不同的堆栈跟踪,但我很确定它们都是同样的崩溃。 你怎么看待这件事?我应该去哪里找虫子?毋庸置疑,我无法重现它。
iOS 6
Thread 0 Crashed:
0 libobjc.A.dylib 0x3ae395d0 _objc_msgSend + 16
1 Foundation 0x338bc4a1 __NSThreadPerformPerform + 461
2 CoreFoundation 0x32f798f7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
3 CoreFoundation 0x32f791f3 __CFRunLoopDoSources0 + 363
4 CoreFoundation 0x32f77f2f __CFRunLoopRun + 647
5 CoreFoundation 0x32eeb23d _CFRunLoopRunSpecific + 357
6 CoreFoundation 0x32eeb0c9 _CFRunLoopRunInMode + 105
7 GraphicsServices 0x36aa633b _GSEventRunModal + 75
8 UIKit 0x34e072b9 _UIApplicationMain + 1121
9 <REDACTED> 0x00055943 main (main.m:16)
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x736f7477
Crashed Thread: 0
iOS 5:
Thread 0 Crashed:
0 libobjc.A.dylib 0x338c8f78 _objc_msgSend + 16
1 CoreFoundation 0x35c091fb -[NSObject performSelector:withObject:] + 43
2 Foundation 0x350d9747 ___NSThreadPerformPerform + 351
3 CoreFoundation 0x35c7ead3 ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
4 CoreFoundation 0x35c7e335 ___CFRunLoopDoSources0 + 365
5 CoreFoundation 0x35c7d045 ___CFRunLoopRun + 653
6 CoreFoundation 0x35c004a5 _CFRunLoopRunSpecific + 301
7 CoreFoundation 0x35c0036d _CFRunLoopRunInMode + 105
8 GraphicsServices 0x3399b439 _GSEventRunModal + 137
9 UIKit 0x333d8cd5 _UIApplicationMain + 1081
10 <REDACTED> 0x0003f32b main (main.m:16)
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0xf10d9e21
Crashed Thread: 0
我已经检查了每次调用performSelector:withObject:并且我看不到任何无法识别的选择器被调用。错误在哪里?
更新**包含来自后台线程的堆栈跟踪
Thread 1:
0 libsystem_kernel.dylib 0x3568a3a8 _kevent + 24
1 libdispatch.dylib 0x339bdbc9 __dispatch_mgr_wakeup + 1
Thread 2:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 3:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 4:
0 libsystem_kernel.dylib 0x3569a0d8 ___psynch_mutexwait + 24
1 WebCore 0x3721d4ef __ZL17_WebTryThreadLockb + 215
2 WebCore 0x3721d7f3 __ZL14WebRunLoopLockP19__CFRunLoopObservermPv + 31
3 CoreFoundation 0x355f8b1b ___CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 19
4 CoreFoundation 0x355f6d57 ___CFRunLoopDoObservers + 259
5 CoreFoundation 0x355f701f ___CFRunLoopRun + 615
6 CoreFoundation 0x3557a4a5 _CFRunLoopRunSpecific + 301
7 CoreFoundation 0x3557a36d _CFRunLoopRunInMode + 105
8 WebCore 0x372c0ca3 __ZL12RunWebThreadPv + 403
9 libsystem_c.dylib 0x34843735 __pthread_start + 321
Thread 5:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 6:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 7:
0 libsystem_kernel.dylib 0x3568a004 _mach_msg_trap + 20
1 CoreFoundation 0x355f83f3 ___CFRunLoopServiceMachPort + 127
2 CoreFoundation 0x355f712b ___CFRunLoopRun + 883
3 CoreFoundation 0x3557a4a5 _CFRunLoopRunSpecific + 301
4 CoreFoundation 0x3557a36d _CFRunLoopRunInMode + 105
5 Foundation 0x349bfbb9 +[NSURLConnection(Loader) _resourceLoadLoop:] + 309
6 Foundation 0x349bfa81 -[NSThread main] + 73
7 Foundation 0x34a53591 ___NSThread__main__ + 1049
8 libsystem_c.dylib 0x34843735 __pthread_start + 321
Thread 8:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 9:
0 libsystem_kernel.dylib 0x3569a570 ___select + 20
1 libsystem_c.dylib 0x34843735 __pthread_start + 321
Thread 10:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 11:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 12:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 13:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 14:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 15:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 16:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 17:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 0 crashed with ARM Thread State:
r0: 0x10910cc0 r1: 0x322194f6 r2: 0x00482a7a r3: 0x00000000
r4: 0xf10a6823 r5: 0x00481a7a r6: 0x33102823 r7: 0x2fef2e54
r8: 0x00482a7a r9: 0x0c88653d r10: 0x3efac9b4 r11: 0x00000000
ip: 0x004a710c sp: 0x2fef2e38 lr: 0x00315cf3 pc: 0x33242f78
cpsr: 0x20080030
由于
已编辑:由于DDPerformDebugger.m,我终于解决了它 崩溃是由客户提供的第三方框架引起的。 谢谢大家
答案 0 :(得分:1)
您的应用中似乎有内存和线程问题。该应用程序正在尝试向已经解除分配的对象发送消息(方法)。
两个堆栈跟踪暗示了线程的使用。看起来你正在后台线程中做一些工作,然后发送一个消息到一个不再存在的对象(在主线程上?)。因此,检查后台线程的堆栈跟踪并查看它们正在执行的操作可能会有所帮助。