Squeak.ru - шаблоны программирования

В iOS есть ли способ определить, какая архитектура выполнялась в отчете о сбое?

Учитывая отчет о сбое (несимволизированный) на iOS, есть ли способ определить, какая архитектура (armv6 или armv7) выполнялась устройством?

Почему я спрашиваю? Я получил несколько отчетов о сбоях, не связанных с заархивированным dSYM/исполняемым файлом. Таким образом, я не могу символизировать их с помощью автоматизированных инструментов. Я хочу поэкспериментировать с изменением записанного UUID в файлах сбоя на выпуск, в котором был сохранен dSYM (изменения между двумя выпусками, вероятно, представляют собой просто изменения файла ресурсов [изображения], поэтому скомпилированный код должен быть идентичен). Это может позволить мне использовать автоматизированные инструменты для обозначения отчетов и извлечения некоторых значимых данных о сбоях.

dwarfdump показывает, что исполняемый файл и dSYM, которые у меня есть, совпадают, как и ожидалось, но он также показывает, что в каждом (толстом двоичном файле) armv6 и armv7 есть две архитектуры. Чтобы иметь возможность быстро подставлять UUID в отчеты о сбоях, мне нужно знать, какая архитектура использовалась устройством до сбоя.



Ответы:


1

Чтобы ответить на исходный вопрос более прямо (надеюсь), в журнале сбоев есть раздел «Двоичные изображения». Это явно указывает на используемую архитектуру, например: «Двоичные изображения: 0x1000 - 0x167fff +имя приложения armv7 ‹8195d6729b973c6190ab00f36dfb1dd6> /var/mobile/Applications/90AA05D9-0094-48BC-BD0A-CE4C1F1B6A93/имя приложения.приложение/имя приложения

" В приведенном выше примере это указывает на "armv7". Если бы работала версия armv6, вместо этого было бы сказано armv6

26.03.2012
  • Спасибо! Интересно, изменился ли двоичный формат и была ли добавлена ​​эта информация, или я просто пропустил ее раньше?! 30.03.2012

  • 2

    См. раздел Магия отладки iOS (Техническое примечание TN2239) и Понимание и анализ отчетов о сбоях приложений iPhone OS (Техническое примечание TN2151).

    Джефф

    19.03.2011
  • Джефф, классные указатели, но я не вижу ответа на вопрос? 30.03.2011
  • xyzzcoder - я немного покопался и ничего не нашел. Я задал тот же вопрос в списке рассылки GCC и получил ответ «не подходит». Возможно, будет полезен список рассылки GDB или список рассылки GLIBC (?). 30.03.2011
  • Согласно «Разрешение адреса сбоя в позиции в коде» [1], он взят из журнала сбоев (см. ответ Зитцмана). [1] lists.apple.com/archives/cocoa-dev /2011/апрель/msg00544.html 19.04.2011
  • Определение адреса сбоя — это не то же самое, что определение используемой архитектуры. 20.04.2011
  • От Zitzmann: ... включите архитектуру из журнала сбоев. Судя по всему, архитектура есть в крашлоге. 21.04.2011
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...