SIGABRT在__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__上崩溃

我有一个我不熟悉的SIGABRT崩溃日志。 看起来它正在抛出exception,但我无法看到列出exception的位置或其根本原因。

这是在客户的iPad 2 / iOS 4.3上运行。

Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x33ed3a1c __pthread_kill + 8 1 libsystem_c.dylib 0x354d83b4 pthread_kill + 52 2 libsystem_c.dylib 0x354d0bf8 abort + 72 3 libstdc++.6.dylib 0x33671a64 __gnu_cxx::__verbose_terminate_handler() + 376 4 libobjc.A.dylib 0x3636906c _objc_terminate + 104 5 libstdc++.6.dylib 0x3366fe36 __cxxabiv1::__terminate(void (*)()) + 46 6 libstdc++.6.dylib 0x3366fe8a std::terminate() + 10 7 libstdc++.6.dylib 0x3366ff5a __cxa_throw + 78 8 libobjc.A.dylib 0x36367c84 objc_exception_throw + 64 9 Foundation 0x33f69924 __NSThreadPerformPerform + 648 10 CoreFoundation 0x33e4ba72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6 11 CoreFoundation 0x33e4d758 __CFRunLoopDoSources0 + 376 12 CoreFoundation 0x33e4e4e4 __CFRunLoopRun + 224 13 CoreFoundation 0x33ddeebc CFRunLoopRunSpecific + 224 14 CoreFoundation 0x33ddedc4 CFRunLoopRunInMode + 52 15 GraphicsServices 0x33544418 GSEventRunModal + 108 16 GraphicsServices 0x335444c4 GSEventRun + 56 17 UIKit 0x34416d62 -[UIApplication _run] + 398 18 UIKit 0x34414800 UIApplicationMain + 664 19 MyApp 0x000190c4 main (main.m:14) 20 MyApp 0x0001907c 0x18000 + 4220 

我在哪里开始寻找诊断?

程序应该将有关exception的信息打印到设备控制台(在连接设备时可在Xcode组织器中查看)。 看到这些信息会非常非常有帮助。

_NSThreadPerformPerformperformSelector...系列方法使用。 那么看看你对这些方法的使用。 特别是,弄清楚你是否可能要求一个对象执行它不支持的选择器。 这会引发exception。