iOS启动时出现SIGABRT错误

3
我最近在我的iOS应用中设置了Crashlytics来接收崩溃日志,但我一直收到一个SIGABRT崩溃日志,我找不到它是从哪里引起的。
如果可以,请帮我看一下以下的崩溃日志:
Exception Type: SIGABRT Code: ABORT at 0x364b132c
com.apple.main-thread Crashed
     libsystem_kernel.dylib  __pthread_kill + 8
     libsystem_c.dylib   pthread_kill + 54
     libsystem_c.dylib   abort + 94
     libc++abi.dylib     abort_message + 46
     libc++abi.dylib     safe_handler_caller(void (*)()) + 120
     libc++abi.dylib     operator delete(void*)
     libc++abi.dylib     __cxa_current_exception_type
     libobjc.A.dylib     objc_exception_rethrow + 12
     CoreFoundation  CFRunLoopRunSpecific + 404
     CoreFoundation  CFRunLoopRunInMode + 104
     GraphicsServices    GSEventRunModal + 136
     UIKit   UIApplicationMain + 1080
     MyApplication   main.m line 16 main
com.apple.libdispatch-manager
     libsystem_kernel.dylib  kevent + 24
     libdispatch.dylib   _dispatch_mgr_invoke + 714
     libdispatch.dylib   _dispatch_mgr_wakeup
WebThread
     libsystem_kernel.dylib  __psynch_mutexwait + 24
     libsystem_c.dylib   pthread_mutex_lock + 382
     WebCore     _WebTryThreadLock(bool) + 214
     WebCore     WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 30
     CoreFoundation  __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
     CoreFoundation  __CFRunLoopDoObservers + 258
     CoreFoundation  __CFRunLoopRun + 952
     CoreFoundation  CFRunLoopRunSpecific + 300
     CoreFoundation  CFRunLoopRunInMode + 104
     WebCore     RunWebThread(void*) + 402
     libsystem_c.dylib   _pthread_start + 320
com.crashlytics.MachExceptionServer
     libsystem_kernel.dylib  mach_msg_trap + 20
     libsystem_kernel.dylib  mach_msg + 56
     MyApplication   CLSMachExceptionServer + 120
     libsystem_c.dylib   _pthread_start + 320
com.apple.NSURLConnectionLoader
     libsystem_kernel.dylib  mach_msg_trap + 20
     libsystem_kernel.dylib  mach_msg + 56
     CoreFoundation  __CFRunLoopServiceMachPort + 126
     CoreFoundation  __CFRunLoopRun + 882
     CoreFoundation  CFRunLoopRunSpecific + 300
     CoreFoundation  CFRunLoopRunInMode + 104
     Foundation  +[NSURLConnection(Loader) _resourceLoadLoop:] + 308
     Foundation  -[NSThread main] + 72
     Foundation  __NSThread__main__ + 1048
     libsystem_c.dylib   _pthread_start + 320
Thread
     libsystem_kernel.dylib  __psynch_cvwait + 24
     libsystem_c.dylib   _pthread_cond_wait + 640
     libsystem_c.dylib   pthread_cond_wait + 40
     Foundation  -[NSCondition wait] + 196
     MyApplication  PFCommandCache.m line 496 -[PFCommandCache runLoop]
     Foundation  -[NSThread main] + 72
     Foundation  __NSThread__main__ + 1048
     libsystem_c.dylib   _pthread_start + 320
Thread
     libsystem_kernel.dylib  mach_msg_trap + 20
     libsystem_kernel.dylib  mach_msg + 56
     CoreFoundation  __CFRunLoopServiceMachPort + 126
     CoreFoundation  __CFRunLoopRun + 882
     CoreFoundation  CFRunLoopRunSpecific + 300
     CoreFoundation  CFRunLoopRunInMode + 104
     Foundation  -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 256
     Foundation  -[NSRunLoop(NSRunLoop) run] + 78
     MyApplication  PF_AFURLConnectionOperation.m line 151 +[PF_AFURLConnectionOperation networkRequestThreadEntryPoint:]
     Foundation  -[NSThread main] + 72
     Foundation  __NSThread__main__ + 1048
     libsystem_c.dylib   _pthread_start + 320
com.apple.CFSocket.private
     libsystem_kernel.dylib  __select + 20
     CoreFoundation  __CFSocketManager + 732
     libsystem_c.dylib   _pthread_start + 320
Thread
     libsystem_kernel.dylib  __workq_kernreturn + 8
     libsystem_c.dylib   _pthread_wqthread + 616
WebCore: CFNetwork Loader
     libsystem_kernel.dylib  mach_msg_trap + 20
     libsystem_kernel.dylib  mach_msg + 56
     CoreFoundation  __CFRunLoopServiceMachPort + 126
     CoreFoundation  __CFRunLoopRun + 882
     CoreFoundation  CFRunLoopRunSpecific + 300
     CoreFoundation  CFRunLoopRunInMode + 104
     WebCore     WebCore::runLoaderThread(void*) + 128
     libsystem_c.dylib   _pthread_start + 320
Thread
     libsystem_kernel.dylib  __workq_kernreturn + 8
     libsystem_c.dylib   _pthread_wqthread + 616
Thread
     libsystem_c.dylib   start_wqthread

感谢您的帮助!

编辑:为了明确,我收到了这个崩溃日志多次,但我无法在我的测试设备上重现这个错误。


当应用程序崩溃时,在调试器控制台上输入“bt”(回溯),可能有助于找到问题。 - Manish Agrawal
是的,但我无法在我的测试设备上重现这个错误。 - Abel
有时候当我改变捆绑标识(bundle Id)并且设备上存在旧的捆绑标识的应用程序时,会出现这种情况。当我尝试使用新的捆绑标识启动相同的应用程序时,要么会启动旧的应用程序,要么会崩溃并显示类似的错误信息。通常我会删除应用程序(包括旧的和新的应用程序),然后重新启动XCode和模拟器。 - J_D
你是否在使用C++的delete运算符?看起来你正在尝试删除一个你不能删除的对象... - Sonny Saluja
将Crashlytics库的类型从“Required”更改为“Weak”在目标中。这可能会对您有所帮助。只需尝试一下。 - George
显示剩余3条评论
2个回答

1
尝试在该十六进制代码上执行打印对象操作,有时可以提供一些见解。
po 0x364b132c

我原本想在评论中留言,但是由于某种原因无法在您的帖子下发表评论。


我可能表述不清,我无法在我的测试设备上重现这个错误,这是我收到的崩溃日志。打印内存地址为 0x364b132c 的对象每次都不会返回相同的结果... - Abel
哦,我错过了 Crashlytics 部分。对此感到抱歉。 - Psiticosis

1

看起来您正在应用程序委托中删除一些内容(例如applicationDidEnterBackground等),在您关闭/重新打开应用程序后,如果在WebThread(UIWebView?)中不存在,则不会再出现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接