奇怪的CF_forwarding_prep_0崩溃 - 可能的UITableView委托问题?

时间:2015-01-13 19:21:07

标签: ios objective-c uitableview crash

我正在尝试分析一个似乎是间歇性崩溃的日志。

这是抛出异常的线程的堆栈跟踪:

Thread : Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x2ab5f49f __exceptionPreprocess + 126
1  libobjc.A.dylib                0x38315c8b objc_exception_throw + 38
2  CoreFoundation                 0x2ab5f3e5 -[NSException initWithCoder:]
3  Foundation                     0x2b862389 -[NSProxy doesNotRecognizeSelector:] + 68
4  CoreFoundation                 0x2ab627d7 ___forwarding___ + 714
5  CoreFoundation                 0x2aa94058 _CF_forwarding_prep_0 + 24
6  UIKit                          0x292648cb -[UIScrollViewAccessibility _axCleanupDelegateClearer] + 98
7  UIKit                          0x29264965 -[UIScrollViewAccessibility dealloc] + 60
8  UIKit                          0x2e19c8b1 -[UITableView dealloc] + 1572
9  UIKit                          0x2924dc91 -[UITableViewAccessibility dealloc] + 172
10 libobjc.A.dylib                0x38314da1 object_cxxDestructFromClass(objc_object*, objc_class*) + 116
11 libobjc.A.dylib                0x3831e5f7 objc_destructInstance + 34
12 libobjc.A.dylib                0x3831e61b object_dispose + 14
13 UIKit                          0x2e3214d1 -[UIResponder dealloc] + 96
14 UIKit                          0x2e18eb55 -[UIViewController dealloc] + 1760
15 CoreFoundation                 0x2aa6600d CFRelease + 600
16 CoreFoundation                 0x2aa7968f -[__NSArrayI dealloc] + 66
17 libobjc.A.dylib                0x3832fd5f objc_object::sidetable_release(bool) + 166
18 libobjc.A.dylib                0x383301a9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 404
19 CoreFoundation                 0x2aa71149 _CFAutoreleasePoolPop + 16
20 UIKit                          0x2e01789f _wrapRunLoopWithAutoreleasePoolHandler + 42
21 CoreFoundation                 0x2ab25d95 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20
22 CoreFoundation                 0x2ab23453 __CFRunLoopDoObservers + 278
23 CoreFoundation                 0x2ab2385b __CFRunLoopRun + 914
24 CoreFoundation                 0x2aa713c1 CFRunLoopRunSpecific + 476
25 CoreFoundation                 0x2aa711d3 CFRunLoopRunInMode + 106
26 GraphicsServices               0x31e6f0a9 GSEventRunModal + 136
27 UIKit                          0x2e080fa1 UIApplicationMain + 1440
28 MyApp                          0x000938b1 main (main.mm:21)
29 libdyld.dylib                  0x38895aaf start + 2

这是主线程的堆栈跟踪:

Thread : Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x3895bdfc __pthread_kill + 8
1  libsystem_pthread.dylib        0x389d9d37 pthread_kill + 62
2  libsystem_c.dylib              0x388fb909 abort + 76
3  libc++abi.dylib                0x37c399c9 __cxa_bad_cast
4  libc++abi.dylib                0x37c53671 default_unexpected_handler()
5  libobjc.A.dylib                0x38315f25 _objc_terminate() + 192
6  libc++abi.dylib                0x37c50de3 std::__terminate(void (*)()) + 78
7  libc++abi.dylib                0x37c508af __cxa_rethrow + 102
8  libobjc.A.dylib                0x38315dd3 objc_exception_rethrow + 42
9  CoreFoundation                 0x2aa7145d CFRunLoopRunSpecific + 632
10 CoreFoundation                 0x2aa711d3 CFRunLoopRunInMode + 106
11 GraphicsServices               0x31e6f0a9 GSEventRunModal + 136
12 UIKit                          0x2e080fa1 UIApplicationMain + 1440
13 MyApp                          0x000938b1 main (main.mm:21)

查看具有异常的跟踪,我看到CF_forwarding_prep_0消息,后面跟着[NSProxy doesNotRecognizeSelector]异常。阅读,这是一个安全的假设,问题的原因是有一个指向未被设置为nil的tableview委托的指针?这是我在这里看到的唯一可识别的东西。

任何帮助都将非常感激。谢谢!

0 个答案:

没有答案