【问题标题】:symbolicatecrash with XCode 4.2 not symbolicating system symbols使用 XCode 4.2 的 symbolicatecrash 不表示系统符号
【发布时间】:2011-11-18 00:40:36
【问题描述】:

这是一个非常奇怪的问题。我想我一定是做错了什么,但我不知道是什么。我已经使用 symbolicatecrash 好几年了,没有任何问题。我看到的问题是 symbolicatecrash 没有显示系统库的符号,但它显示了我的应用程序的符号。我已经尝试了我能想到的一切来解决这个问题,但没有运气。

请注意,我在三台不同的机器上得到了相同的结果,2 狮子,1 雪豹。

命令行示例: /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash /Users/mike/Downloads/mycrash-iPad.crash

还请注意,当我将文件拖到 XCode 4.2 日志管理器窗口的日志部分并等待 XCode 符号化文件时,我得到了相同的结果。

这是我的代码中带有部分符号符号的崩溃示例:

Last Exception Backtrace:
0   CoreFoundation                  0x33dae8bf 0x33cf5000 + 759999
1   libobjc.A.dylib                 0x354ca1e5 0x354c1000 + 37349
2   CoreFoundation                  0x33dae7b9 0x33cf5000 + 759737
3   CoreFoundation                  0x33dae7db 0x33cf5000 + 759771
4   CoreFoundation                  0x33d1b6bb 0x33cf5000 + 157371
5   myZenfolio                      0x001a551d -[GtDataSourceManager setDataSource:forKey:] (GtDataSource.m:59)
6   myZenfolio                      0x0004c793 -[ZfUserAccountViewController doUpdateDataSourceManager:] (ZfUserAccountViewController.m:202)
7   myZenfolio                      0x0022f853 -[GtEditObjectViewController tableViewWillReloadData:] (GtEditObjectViewController.m:803)
8   CoreFoundation                  0x33d0d22b 0x33cf5000 + 98859
9   myZenfolio                      0x002557b9 -[GtTableView reloadData] (GtTableView.m:48)
10  myZenfolio                      0x0004c36d -[ZfUserAccountViewController _updateFromCache] (ZfUserAccountViewController.m:160)
11  CoreFoundation                  0x33d0d22b 0x33cf5000 + 98859
12  Foundation                      0x3187c757 0x317d8000 + 673623
13  CoreFoundation                  0x33d82b03 0x33cf5000 + 580355
14  CoreFoundation                  0x33d822cf 0x33cf5000 + 578255
15  CoreFoundation                  0x33d81075 0x33cf5000 + 573557
16  CoreFoundation                  0x33d044dd 0x33cf5000 + 62685
17  CoreFoundation                  0x33d043a5 0x33cf5000 + 62373
18  GraphicsServices                0x35944fcd 0x35941000 + 16333
19  UIKit                           0x34e49743 0x34e18000 + 202563
20  myZenfolio                      0x00004017 main (main.m:15)
21  myZenfolio                      0x00003fd0 start + 40

我已经用 -v 运行了符号化崩溃命令,它找到了 app.dSym 文件,它似乎没有找到库 symfiles,这似乎是大多数人遇到的相反问题。掌心。

例如,以下是 CoreFoundation 库的 -v 运行的输出:

............fetching symbol file for CoreFoundation--[undef] 
Searching [/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation /Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation]...--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation] Running xcrun -sdk iphoneos lipo -info '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Running xcrun -sdk iphoneos otool -arch armv7 -l '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Given UUID de9eefc6109735369cfd8f3de9895da0 for '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation' is really UUID a2dbc131fdc0364e822339ca2926b6e8
-- NO MATCH
--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation] Running xcrun -sdk iphoneos lipo -info '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Running xcrun -sdk iphoneos otool -arch armv7 -l '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Given UUID de9eefc6109735369cfd8f3de9895da0 for '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation' is really UUID a2dbc131fdc0364e822339ca2926b6e8
-- NO MATCH
Searching in Spotlight for dsym with UUID of de9eefc6109735369cfd8f3de9895da0
Running mdfind "com_apple_xcode_dsym_uuids == DE9EEFC6-1097-3536-9CFD-8F3DE9895DA0"
@dsym_paths = (  )
@exec_names = (  )
Did not find executable for dsym
## Warning: Can't find any unstripped binary that matches version of /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation

我真的不知道下一步该尝试什么。

有人有什么想法吗?我很新鲜。非常感谢您的帮助!

谢谢, 迈克

更多信息,现在我在 symbolicatecrash 输出中遇到错误。

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/Foundation.framework/Foundation truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 22 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/Foundation.framework/Foundation
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 17 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/UIKit.framework/UIKit truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 41 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/UIKit.framework/UIKit
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/WebCore.framework/WebCore truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 28 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/WebCore.framework/WebCore
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/libobjc.A.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 12 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/libobjc.A.dylib
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libdispatch.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 11 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libdispatch.dylib
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_c.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 11 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_c.dylib
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 15 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_kernel.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 10 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_kernel.dylib

【问题讨论】:

  • 嗨,迈克,您是如何获得 5.0.1 符号的?我已将 Xcode 更新到 4.2.1,但“iOS DeviceSupport”中仍然没有“5.0.1 (9A405)”文件夹。
  • 我插入了 5.0.1 设备,XCode 将符号下载到 /Users/Mike/Library... 文件夹中。
  • 我很确定这是工具中的一个错误,顺便说一句。
  • 谢谢,我已经注意到了。
  • 您注意到了哪一部分,符号的下载,还是潜在的错误?谢谢

标签: iphone xcode ipad debugging symbolicatecrash


【解决方案1】:

以下解决了我的问题:

  • 删除文件夹 ~/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)
  • 重新连接您的 iOS 设备,它会自动导入正确的符号。

之后,崩溃报告可以正确符号化。 (要重新符号化崩溃报告,打开 Organizer,点击“Reveal in Finder”并删除符号化版本)

【讨论】:

  • 您使用的是什么版本的 Xcode?我从 iPad 1 和 iPhone 4 重新导入了符号文件,两次都得到了相同的结果。这是 Xcode 4.2,Snow Leopard 上最后一个支持的版本。
  • 这行得通。我从 Mac 上删除了这些符号,然后连接了另一个 5.0.1 设备,然后它就可以正常工作了。如果我用 iPhone 4s 再次尝试使用新符号,它就不能正常工作,而使用 iPad 上的符号,它就可以工作。必须以某种方式在手机上损坏。谢谢
  • 我在 Lion 上使用 XCode 版本 4.2.1 Build 4D502。
  • 我只是想添加这个对我有用,但正如@MikeFullerton 上面所说,它只有在我从 iPad 导入符号时才有效。当我之前尝试使用我的 iPhone 4S 时,它仍然没有象征意义。
  • 您可以在不拥有运行给定 iOS 版本的设备的情况下执行此操作吗?例如来自不属于您的设备领域的崩溃报告的符号?
【解决方案2】:

看起来这是 Xcode 4.2 和 iOS 5 的公认错误:

https://devforums.apple.com/message/578722

昨天为 Lion 发布了一个新的 Xcode 测试版,这对你有用吗?我不能自己尝试,因为它还不适用于 Snow Leopard。

【讨论】:

  • 我还没试过。尽管发布说明确实说 XCode 的新预览版破坏了符号崩溃报告并且符号化崩溃,但我们需要删除预览版。我可能会稍等片刻,直到他们修复此问题以安装预览版。
  • 您能找到解决方法吗?我正在使用 XCode 4.3.2 并且在模拟器上也看到了这个(5.1)
  • 自发布该答案以来,我升级到 Lion,然后是 Mountain Lion,现在正在运行 Xcode 4.4。我不能确定,但​​我认为迁移到 Lion 和 Xcode 4.3 解决了这个特定问题,所以你一定会看到一个不同的问题。如果您可以访问开发者论坛,您可以查看一些对我有帮助的故障排除资源:devforums.apple.com/message/636623#636623
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多