Xcode Crash Organizer не символизирует файлы .xccrashpoint

Новая вкладка Xcode 7 «Сбои» в органайзере показывает несколько сбоев из AppStore для моего приложения. Согласно документация, должна быть трассировка стека. Однако ни один из 6 сбоев не имеет символьных трассировок стека:  введите описание изображения здесь

Я пробовал нажимать «Открыть в проекте», но это бесполезно:  введите описание изображения здесь

Конечно, я включил dsym и информацию об отладке при отправке в магазин. У меня все еще есть сборка для отправки в моем органайзере, поэтому dsyms все еще присутствуют на моей машине. Как я могу получить по этому поводу правильную трассировку стека?


person Zane Claes    schedule 14.10.2015    source источник
comment
У меня такая же проблема.   -  person dmarnel    schedule 23.10.2015
comment
У меня такая же проблема с двумя моими проектами. Разные издатели, один - Swift с отключенным биткодом, другой - чистый ObjC. Оба представлены с dSYM. Я запишу ошибку   -  person mspasov    schedule 21.01.2016
comment
Я рассматриваю возможность того, что причиной этого может быть общая библиотека, разделяемая моими двумя проектами. Обновленные библиотеки Google AdMob и StartApp - общий компонент. В сбоях старых версий обоих приложений символы исправлены.   -  person mspasov    schedule 21.01.2016


Ответы (4)


Не идеально, но если вы щелкните правой кнопкой мыши файл .xccrashpoint, выберите «Показать содержимое пакета», вы сможете перемещаться по его структуре папок, чтобы найти фактический файл .crash, который вы можете извлечь и затем обозначить в командной строке используя шаги, описанные здесь:

Бегать

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

Убедитесь, что установлено DEVELOPER_DIR:

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
person esilver    schedule 23.10.2015

Короткий рассказ:

В Xcode 9.0: "Организатор сбоев символизирует несимволизированные журналы, если они выбраны, используя локальный .dSYM, проиндексированный Spotlight. (22550064)"

Вы можете узнать больше об этом в документации Xcode..

Длинная история:

Когда Xcode создает .xcarchive для приложения с машинным кодом, он генерирует файлы .dSYM, которые по умолчанию индексируются Spotlight. Для приложения, загруженного с помощью битового кода, вы можете использовать органайзер архивов для загрузки файлов dSYM, где они по умолчанию индексируются Spotlight.

Если вы решите не включать символьную информацию при загрузке приложения в App Store, журналы сбоев, загруженные Организатором сбоев, не будут иметь символов. Если у вас есть соответствующие файлы .dSYM, которые были созданы для версии приложения, в которой произошел сбой, Xcode автоматически символизирует сбой, когда вы щелкаете сбой, чтобы просмотреть его. Эта функция существует в Xcode 9.0+. Вы можете вручную вызвать повторную символизацию, щелкнув правой кнопкой мыши подробное представление журнала и выбрав «символизировать».

person mychrisdangelo    schedule 13.12.2017
comment
Это правильный ответ для Xcode 9, если основной целью OP не является выполнение символики из командной строки и т. Д. Также возможно символизировать отчеты о сбоях, полученные напрямую, просто используя Xcode: developer.apple.com/library/content/technotes/tn2151 / Единственное, что здесь печально: интерфейс слишком неинтуитивен ... - person ppm; 15.12.2017
comment
Символическое обозначение выделено серым цветом - person Hogdotmac; 25.01.2018
comment
Я не могу отследить какой-либо журнал сбоев в организаторе сбоев xcode, согласно документации Apple, я также зарегистрировался с кредитами агента, но я не могу отследить, у меня есть только файл .dSYM, как продолжить - person Shakti; 01.10.2018
comment
Идеально! Это объясняет мою проблему, а загрузка и разархивирование файлов .dSYM в любое место, чтобы позволить Spotlight индексировать, решила проблему. Я использую два разных компьютера для разработки и иногда строю на одном или другом, так что это имеет смысл! Такая плохая реализация Apple. - person Jona; 25.02.2019

Я делаю это впервые в Xcode 10. Щелкнув правой кнопкой мыши на моем журнале сбоев и выбрав Symbolicate, не дало никакого эффекта. Я выбрал сборку в разделе «Архивы» окна «Организатор» и нажал кнопку «Загрузить символы отладки» на правой панели. Похоже, это ничего не дало, но когда я вернулся к Crashes и сказал Xcode снова символизировать тот же сбой, на этот раз это сработало.

person janineanne    schedule 11.02.2019
comment
Мне пришлось перезапустить XCode 11, прежде чем символик начал работать. В противном случае все вышеперечисленное сработало для меня. - person JonLord; 08.02.2020

Вам необходимо, чтобы dsyms приложения были локальными. Если это была сборка, загруженная, скажем, из окна сборки, у вас их не будет. Перейдите в App Store Connect, щелкните вкладку «Активность», найдите нужную сборку и нажмите на нее. На экране сведений о версии есть ссылка для загрузки файлов dSYM - сделайте это и разверните файл .zip, в котором они загружаются.

Теперь вернемся к вашим сбоям в Xcode - они будут успешно отображать символы.

Совет здравомыслия: убедитесь, что ваш локальный источник находится в той же фиксации, что и аварийный выпуск. В противном случае, если исходный файл был изменен с момента выпуска, Xcode может вывести вас в неправильную строку. например строка 127 вашего исходного кода теперь перемещена в строку 129, так как вы недавно добавили две строки ... и представление сбоев не знает об этих изменениях. Он покажет вам сбой в строке 127, где код сбоя фактически находится в строке 129.

person Graham Perks    schedule 25.02.2019