Почему команда atos не может найти символы для моего журнала сбоев iOS? - PullRequest
3 голосов
/ 06 августа 2011

Я пытаюсь диагностировать сбой моего iOS-приложения. Другие здесь предложили использовать для этого команду atos, как в следующих командах:

atos -arch armv7 -o ''/'appname.app.dSYM'
symbolicatecrash "appname_2011-08-03-111047_Test-iPhone.crash" "apname.app"

Однако, когда я пытаюсь это сделать, команда завершается с ошибкой

atos не может загрузить символы для файла

Что может быть причиной этой ошибки и как я могу это исправить? Кроме того, это правильный способ определения места сбоя памяти в приложении iOS из журнала сбоя?

1 Ответ

3 голосов
/ 26 ноября 2011

Файл / dir dSYM должен быть точным тем же, который был создан при сборке представленной вами сборки магазина приложений. Даже другой, построенный из точно такой же кодовой базы, не будет соответствовать вашему журналу аварийного завершения.

Некоторые потенциальные причины:

  • Вы собрали и протестировали свое приложение, и как только вы решили, что все в порядке, вы сохранили двоичные файлы (.app и .dSYM), затем перестроили с подписью appstore и забыли заархивировать ЭТ версии .app и .dSYM. Теперь ваша заархивированная версия не будет соответствовать сбоям в версии магазина приложений.
  • Вы пытаетесь символизировать, используя недавно построенные .app и .dSYM из системы управления версиями. Вам нужно использовать те же .app и .dSYM, которые были отправлены.

Если у вас есть правильный dSYM где-нибудь на вашем компьютере (и установлена ​​правильная отладочная информация iOS), Xcode автоматически найдет его и создаст символическую копию журнала сбоев при импорте журнала сбоев. Это делается с помощью Spotlight, чтобы найти уникальную строку, сгенерированную во время сборки (поэтому для ее соответствия требуется точная версия). Обратите внимание, что соответствующий файл .app также должен присутствовать.

Рекомендуется создавать и тестировать версию выпуска, а затем повторно подписывать ее для отправки (вместо того, чтобы отправлять отдельную сборку для подписи в магазине приложений). Таким образом, вы можете сохранить правильные .app и .dSYM где-нибудь в безопасности. Я помещаю их в систему контроля версий и помечаю их номером выпуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...