symbolicatecrash с XCode 4.2, не символизирующий системные символы - PullRequest
13 голосов
/ 18 ноября 2011

Это очень странная проблема. Я думаю, что я что-то делаю не так, но я не знаю, что это такое. Я использую 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 в порядке, просто не похоже на поиск библиотечных символических файлов, что, кажется, является противоположной проблемой, с которой сталкивается большинство людей. Facepalm.

Например, вот вывод команды -v для библиотеки CoreFoundation:

............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

Ответы [ 2 ]

13 голосов
/ 06 декабря 2011

Следующее решило проблему для меня:

  • Удалить папку ~ / Библиотека / Разработчик / Xcode / iOS DeviceSupport / 5.0.1 (9A405)
  • Повторно подключите ваше устройство iOS, и оно автоматически импортирует правильные символы.

После этого отчеты о сбоях могут быть правильно обозначены символами. (чтобы повторно обозначить отчет о сбое, откройте Организатор, нажмите «Показать в Finder» и удалите символическую версию)

2 голосов
/ 30 ноября 2011

Похоже, это признанная ошибка в Xcode 4.2 и iOS 5:

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

Вчера для Lion была выпущена новая бета-версия Xcode, это работает для вас? Я сам не могу попробовать, потому что это еще не доступно для Snow Leopard.

...