我正在使用使用Realm的iOS应用程序,该Realm是通过Cocoapods安装/管理的。我的应用偶尔崩溃,我无法解决问题,因为我的堆栈跟踪未向我显示与Realm相关的方法名称。我正在通过Xcode将应用程序的调试版本部署到手机,并且将Debug Information Format选项设置为带有dSYM文件的DWARF。在下面的堆栈跟踪中,您可以看到我的代码似乎是符号化的,但是Realm中的方法名称只是地址和偏移量。不幸的是,我对使用Xcode进行故障排除有些陌生,但是我假设这意味着找不到Realm调试符号?如果有人可以向我解释如何纠正此问题,我将不胜感激!
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0
Application Specific Information:
abort() called
Filtered syslog:
None found
Last Exception Backtrace:
0 CoreFoundation 0x18316ad8c __exceptionPreprocess + 228
1 libobjc.A.dylib 0x1823245ec objc_exception_throw + 55
2 Realm 0x10814e238 0x108030000 + 1172024
3 Realm 0x10814ffa0 0x108030000 + 1179552
4 Realm 0x10814ff74 0x108030000 + 1179508
5 MyAppName 0x104af31a4 closure #1 in closure #2 in processOutgoingMessage(outgoingMessage:) + 4452772 (ProcessOutgoingMessage.swift:51)
6 MyAppName 0x1046cd168 _T0Ieg_IeyB_TR + 102760 (DataSource.swift:0)
7 libdispatch.dylib 0x182a5caa0 _dispatch_call_block_and_release + 23
8 libdispatch.dylib 0x182a5ca60 _dispatch_client_callout + 15
9 libdispatch.dylib 0x182a9dd80 _dispatch_main_queue_callback_4CF$VARIANT$armv81 + 963
10 CoreFoundation 0x183113070 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 11
11 CoreFoundation 0x183110bc8 __CFRunLoopRun + 2271
12 CoreFoundation 0x183030da8 CFRunLoopRunSpecific + 551
13 GraphicsServices 0x185015020 GSEventRunModal + 99
14 UIKit 0x18d04d758 UIApplicationMain + 235
15 MyAppName 0x104a7919c main + 3953052 (AppDelegate.swift:18)
16 libdyld.dylib 0x182ac1fc0 start + 3
更新-事实证明,Pods项目的构建设置(回想起我正在通过Cocoapods使用Realm)还需要将Debug Information Format设置为DWARF和dSYM File,调试版本。我的应用程序尚未再次崩溃,但我确实注意到,这次我清理并重建了该应用程序后,它似乎包含了Realm的调试符号,因此希望能做到这一点。