符号化崩溃报告在XCode 4.2中无法对系统符号进行符号化

13
这是一个非常奇怪的问题。我认为我一定做错了什么,但我不知道是什么。我已经使用symbolicatecrash几年了,没有出现过问题。我遇到的问题是,symbolicatecrash没有显示系统库的符号,但它却显示了我的应用程序的符号。我尝试了我能想到的一切方法来解决这个问题,但没有成功。
请注意,我在三台不同的机器上(2个Lion和1个Snow Leopard)得到了相同的结果。
以下是示例命令行: /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 lib进行-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

我真的不知道接下来该尝试什么。

有人有任何想法吗?我已经没有了。非常感谢您的帮助!

谢谢, Mike

更多信息,现在我在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将符号下载到了/Users/Mike/Library...文件夹中。 - Mike Fullerton
顺便说一下,我相当确信这是工具中的一个错误。 - Mike Fullerton
谢谢,我已经注意到了。 - Mikayel Aghasyan
你注意到哪一部分了,是符号的下载还是潜在的错误?谢谢。 - Mike Fullerton
你有没有碰巧修好这个问题? - Undistraction
显示剩余2条评论
2个回答

13
以下解决了我的问题:
  • 删除文件夹~/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)
  • 重新连接您的iOS设备,它将自动导入正确的符号。
之后,崩溃报告可以正确地进行符号化。(要重新符号化崩溃报告,请打开组织者,单击“在查找器中显示”,然后删除符号化版本)

你使用的Xcode版本是什么?我重新从iPad 1和iPhone 4导入了符号文件,两次都得到了相同的结果。这是在Snow Leopard上支持的最后一个版本Xcode 4.2。 - arlomedia
4
这个方法有效。我从 Mac 上删除了这些符号,然后连接了另一个 5.0.1 设备,它就正常工作了。如果我再试着用 iPhone 4s 上的新符号来做同样的操作,它就不能正常工作,但如果使用 iPad 上的符号,它就可以工作。一定是手机上的符号出了问题。谢谢。 - Mike Fullerton
我正在使用XCode版本4.2.1 Build 4D502在Lion上。 - ARsteve
我只是想添加这个对我有效,但正如@MikeFullerton上面所说的,它仅在我从我的iPad导入符号时有效。当我之前尝试使用我的iPhone 4S时,它仍然无法解析符号。 - Daniel Wood
好的,我在升级到Lion并安装了Xcode 4.2.1之后,这个方法对我有效。 - arlomedia
1
你能在不拥有运行特定iOS版本的设备的情况下完成这个任务吗?例如,对于你没有拥有的设备上的崩溃报告进行符号化处理? - jpap

2

看起来这是Xcode 4.2和iOS 5已知的bug:

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

昨天为Lion发布了新的Xcode beta版,那个对你有用吗?我无法尝试,因为它还不适用于Snow Leopard。


我还没有尝试过。虽然发布说明确实说新的XCode预览版会破坏symbolicatecrash报告,为了符号化崩溃,我们需要删除预览版。我可能会等一段时间,直到他们修复这个问题再安装预览版。 - Mike Fullerton
你能找到这个问题的变通方法吗?我在使用XCode 4.3.2,模拟器也出现了这个问题(5.1)。 - ilker Acar
自从发布那个答案以来,我升级到了Lion,然后又升级到了Mountain Lion,现在正在运行Xcode 4.4。我记不太清楚了,但我想升级到Lion和Xcode 4.3解决了那个特定的问题,所以你一定是遇到了其他问题。如果你可以访问开发者论坛,你可以查看一些帮助过我的故障排除资源:https://devforums.apple.com/message/636623#636623 - arlomedia

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