Под iOS есть ли способ определить, какая архитектура выполнялась в отчете о сбое?
Учитывая отчет о сбое (без символов) на iOS, есть ли способ определить, какая архитектура (armv6 или armv7) выполнялась устройством?
Почему я спрашиваю? Я получил несколько отчетов о сбоях, которые не связаны с архивным dSYM/ исполняемым файлом. Таким образом, я не могу обозначить их с помощью автоматизированных инструментов. Я хочу поэкспериментировать с изменением записанного UUID в файлах сбоев на выпуск, в котором был сохранен dSYM (изменения между двумя выпусками, вероятно, являются просто изменениями файла ресурсов [изображения], поэтому скомпилированный код должен быть идентичен). Это может позволить мне использовать автоматизированные инструменты для символизации отчетов и извлечения значимых данных о сбоях.
dwarfdump показывает, что исполняемый файл и dSYM, которые у меня есть, совпадают, как и ожидалось, но также показывает, что в каждой (толстой двоичной) armv6 и armv7 есть две архитектуры. Чтобы быстро заменить UUID в отчетах о сбоях, мне нужно знать, какая архитектура использовалась устройством до сбоя.
2 ответа
Чтобы ответить на исходный вопрос более прямо (я надеюсь), в журнале сбоев есть раздел "Двоичные изображения". Это явно указывает на архитектуру, которая была запущена, например: "Двоичные изображения: 0x1000 - 0x167fff +appname armv7 <8195d6729b973c6190ab00f36dfb1dd6> /var/mobile/Applications/90AA05D9-0094-48BC-BD0A-CE4C1F1BappA93/93
"В приведенном выше примере это означает" armv7 ". Если бы armv6 versio работал, он бы сказал вместо armv6
См. Раздел " Магия отладки iOS" (Техническая записка TN2239) и Понимание и анализ отчетов о сбоях приложений iPhone OS (Техническая заметка TN2151).
Джефф