Сбой символьного сбоя на xcode 4.5

Я только что обновил свой xcode до версии 4.5, я попробовал три способа символизации аварийного журнала, но ни один из них не увенчался успехом.

Сначала я получил журнал сбоев со своего устройства, а затем импортировал его в "Журналы устройств" Организатора, но точная функция моего приложения не может быть отображена, адрес памяти по-прежнему отображается в результате.

Во-вторых, я скопировал файл 'symbolicatecrash' из '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources' в '/usr/local/bin'и поместите файл.DSYM, файл.app и файл.crash в папку, выполните команду: 'symbolicatecrash Myapp.crash', в результате по-прежнему будет отображаться адрес памяти.

Наконец, я попробовал метод из http://xperienced.com.pl/blog/symbolicate-ios-crash-report, но все же не повезло.

Не могли бы вы помочь мне решить этот вопрос?

Заранее спасибо!

5 ответов

Решение

Я решил это в соответствии с обсуждением в https://github.com/TheRealKerni/QuincyKit/issues/46. И запустите скрипт perl из https://github.com/TheRealKerni/QuincyKit/blob/3c4a0b163ac71599a7795508fe6a91c1ced9daa6/server/local/symbolicatecrash.pl чтобы получить правильный результат.

@Kerni, спасибо за ваш сценарий!

Вы выключили прожектор? Symbolicatecrash использует прожектор для поиска бинарных файлов и файлов dsym, поэтому, если вы выключили прожектор, он не сможет их найти. В любом случае, вот как преобразовать шестнадцатеричный адрес трассировки стека в номер строки:

[1] Найдите файл.dSym, перейдя в XCode->Organizer, щелкнув по архивам, затем щелкнув правой кнопкой мыши по архиву, и перейдите в этот каталог (вы можете просто перетащить папку в окно оболочки).

[2] перейдите в каталог dSYMs.

[3] запустите команду dwarfdump, чтобы преобразовать шестнадцатеричный адрес в номер строки в вашем коде:

dwarfdump --arch armv7 myApp.dSYM --lookup 0xaabbccdd | grep 'Line table'

Если в названии вашего приложения есть международные символы (например, "ø", "ô", "ç"), символика не будет выполнена. Различные шаги во время символизации портят эти символы, приводя к неверному пути символизации.

У меня были установлены Xcode 4.5 и 4.4.1, после удаления 4.4.1 проблема с символами была исправлена.

Если вы еще не попробовали это, обновите ваш Mac до OSX 10.8.2. Я работал под OSX 10.7.5, и обновление сразу исправило мои проблемы с сиболификацией.

Я перепробовал почти все, чтобы мои журналы аварийных ситуаций стали символом. У меня никогда не было проблем раньше, но прошло несколько месяцев с тех пор, как я посмотрел журнал аварий; в какой-то момент в течение этого периода я обновился до Xcode 4.5.2. Мне кажется, что-то с Perl-скрипт symbolicatecrash Xcode 4.5.2 не работает правильно на Mac под управлением OSX 10.7.5. В symbolicatecrash он вызывает atos, чтобы символизировать адрес; он не мог найти соответствующие символы, хотя я точно знал, что у меня есть правильный xcarchive. Во всяком случае, если вы можете позволить себе $20, весной для OSX 10.8.2 и, надеюсь, это будет работать для вас.

Другие вопросы по тегам