2

我有这些崩溃日志,在我将它们放入管理器后,会自动进行符号化,但结果总是相同的。iOS 调用得到符号化,而我的应用调用没有。

我尝试将dysm和app文件复制到同一个文件夹中,删除并再次复制回来。没有任何帮助。

知道发生了什么吗?所以我得到这样的东西:

    Last Exception Backtrace:
0   CoreFoundation                  0x36d4088f __exceptionPreprocess + 163
1   libobjc.A.dylib                 0x31071259 objc_exception_throw + 33
2   CoreData                        0x350337ab -[NSPersistentStoreCoordinator removePersistentStore:error:] + 227
3   MyApp                           0x00139fbb 0x2e000 + 1097659
4   MyApp                           0x0013998d 0x2e000 + 1096077
5   MyApp                           0x00139a5d 0x2e000 + 1096285
6   libdispatch.dylib               0x3171d61f dispatch_once_f$VARIANT$mp + 47
7   MyApp                           0x001399ff 0x2e000 + 1096191
8   MyApp                           0x00139b47 0x2e000 + 1096519
9   MyApp                           0x0008915d 0x2e000 + 373085
10  MyApp                           0x0008a11b 0x2e000 + 377115
11  UIKit                           0x36ffbd3d -[UIViewController _setViewAppearState:isAnimating:] + 145
12  UIKit                           0x36ffeaa3 -[UINavigationController _startTransition:fromViewController:toViewController:] + 815
13  UIKit                           0x36ffe6ab -[UINavigationController _startDeferredTransitionIfNeeded] + 251
14  UIKit                           0x36ffe56b -[UILayoutContainerView layoutSubviews] + 179
15  UIKit                           0x36fbd0bd -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 149

你可以看到 UIKit 函数被符号化但不是 MyApp

4

1 回答 1

7

您需要生成崩溃报告的确切版本的 dSYM 文件和应用程序二进制文件。如果通过 Spotlight 使用符号化脚本未找到 dSYM,通常您会在 Xcode 中获得此结果。如果这是来自调试版本,而您同时创建了一个新版本,那么您就不走运了。否则,请确保存储调试版本的目录已被 Spotlight 索引。如果这是来自存档的构建,请确保存档目录已被 Spotlight 索引。

崩溃报告包含一个标题为“二进制图像”的部分,最重要的是,您的应用程序二进制文件使用二进制文件 UUID 引用。它看起来像c42a118d722d2625f2357463535854fd,需要将其更改为大写和格式 8-4-4-4-12 ,然后看起来像这样:C42A118D-722D-2625-F235-7463535854FD

您可以使用它通过以下方式在终端中通过聚光灯搜索 dSYM:

mdfind "com_apple_xcode_dsym_uuids == C42A118D-722D-2625-F235-7463535854FD"

于 2012-05-25T22:51:26.820 回答