Формирование символа сбоя в организаторе сбоев и Xcode 7

В настоящее время мой организатор сбоев выглядит следующим образом. введите описание изображения здесь

Я раньше не работал с журналами сбоев, но для меня аварии не выглядели символически. Я не могу найти, где приложение разбилось и по какой причине. Кроме того, когда я открываю трассировку стека в проекте, ничего не подсвечивается, и я не могу сказать, а какая строка она разбилась в файле. Мой вопрос: есть ли способ символизировать все эти сбои внутри организатора, или это должно быть сделано через терминал?

Спасибо.

Ответы

Ответ 1

Что вы видите, так это то, что классы SDK, такие как UITableView, символизируются, но классы из вашего приложения "YLSA" не являются. Оба должны быть обозначены автоматически, но по моему опыту один или другой (или оба) часто не символизируют. Я занимаюсь разработкой iOS в течение пяти лет, и это была постоянная проблема через все версии Xcode.

Спасибо, что не символизировали

Я вижу ту же проблему, что и в Xcode 7, но я смог описать свои журналы с помощью этого обходного пути:

  • В списке журналов сбоев щелкните правой кнопкой мыши нужный журнал и выберите Show in Finder. Это покажет вам пакет, содержащий один или несколько файлов .crash и некоторые метаданные.
  • Перейдите в пакет до тех пор, пока не найдете журнал сбоев. Вы увидите, что эта же информация была или не была обозначена здесь.
  • В Xcode откройте окно "Устройства" и выберите подключенное устройство, затем нажмите кнопку View Device Logs.
  • Перетащите журнал сбоев на шаге 2 из Finder в список журналов для этого устройства.
  • Когда я это делаю, я никогда не вижу, чтобы журнал, который я добавил, отображался в списке, но если я нажму заголовок один или два раза, чтобы повторно отсортировать список, тогда я его вижу.
  • Через мгновение журнал сбоев станет полностью символическим.

Если у вас уже есть много журналов в вашем списке, вы можете сравнить дату, версию iOS и модель оборудования, когда вы просматриваете журнал Finder в журналах в Xcode, чтобы убедиться, что вы просматриваете один и тот же журнал. Затем посмотрите на строку, которая говорит "Triggered by Thread", чтобы получить номер потока, который разбился, затем прокрутите вниз до этого потока, чтобы увидеть код, который вызвал сбой.

Это работало для меня сегодня с Xcode 7. Надеюсь, это поможет вам!

Ответ 2

Когда вы отправляете приложения через Xcode, появится опция, включающая символы отладки. В следующий раз, когда вы отправляете версию приложения, обязательно выберите это; если вы этого не сделали, это может объяснить проблему, которую вы видите. К сожалению, нет способа ретроактивно сделать это для уже представленных версий приложений, поэтому вам придется подождать, пока вы не будете готовы отправить следующую версию, чтобы увидеть, была ли эта проблема.