Символьное приложение AdHoc iphone падает - PullRequest
13 голосов
/ 23 апреля 2010

Мне не удается сделать мой код символическим ... Я читаю часть "ниже":

Учитывая отчет о сбое, соответствие двоичный файл и его файл .dSYM, символизация относительно проста. В окне Xcode Organizer есть вкладка для отчеты о сбоях в настоящее время выбранное устройство. Вы можете просмотреть полученные извне отчеты о сбоях в эта вкладка - просто поместите их в соответствующий каталог. Это такой же, как каталог Mac OS X описано в первом разделе. Это не имеет значения, какое устройство у вас есть привязан, но каталог, в котором вы размещаете отчет о сбое должен быть каталог для привязанного и выбранное устройство.

Нет необходимости размещать бинарный и .dSYM файл в любом конкретное место. Xcode использует Прожектор и UUID, чтобы найти правильные файлы. Это необходимо, тем не менее, оба файла должны быть в одном каталог и что этот каталог тот, который индексируется Spotlight. В любом месте в вашем домашнем каталоге будь в порядке.

Но это не работает для меня ... вот что я сделал:

  • Я открыл органайзер xcode и у меня было устройство iphone с журналами сбоев
  • Файлы приложений и dsym находятся в моем проекте xcode, который находится на моем рабочем столе

Все остальное должно быть автоматическим, верно? но журналы сбоев еще не обозначены ...

Любые комментарии приветствуются.

Приветствие.

Готье.

Ответы [ 3 ]

13 голосов
/ 29 марта 2011

Я боролся с этим в течение нескольких дней, и наконец понял это. Я не смог получить символические логи из любого Архивного приложения, которое я установил на свой телефон. Для меня это была проблема с настройками сборки, хотя я заметил, что он смог символизировать журналы некоторых старых сборок и после того, как я выполнил эти шаги. YMMV может отличаться в зависимости от журналов сбоев предыдущих сборок. Мне удалось получить символические журналы после выполнения этих шагов в Xcode 4.0.1 на iOS 4.3.1.

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

Убедитесь, что эти значения установлены для конфигурации выпуска:

  • Создать символы отладки: Да
  • Формат отладочной информации: DWARF с файлом dSYM
  • Постобработка развертывания: Да
  • Полосатый связанный продукт: Да
  • Использовать отдельную полосу: да
  • Обрезать символы отладки во время копирования: нет
  • Стиль полосы: все символы

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

Для справки, я разобрался со всем этим после изучения этой страницы: http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html

Я также нашел эту страницу, которая удобна, если вы пытаетесь выяснить, что делает конкретный параметр сборки: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

Надеюсь, это поможет!

Dan

8 голосов
/ 07 октября 2010

Чтобы обозначить отчет о сбое, попробуйте следующий подход:

(a) Найдите символик (/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash)

(b) Откройте терминал и перетащите этот файл (чтобы путь был скопирован правильно)

(c) Запустите команду, например /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatorcrash .crash .app (укажите полный путь к отчету о сбое и файл приложения)

(d) Появится символический отчет о сбое

5 голосов
/ 10 февраля 2011

Шаги для анализа отчета о сбое от Apple:

  1. Скопируйте файл выпуска .app, который был помещен в магазин приложений, файл .dSYM, который был создан во время выпуска, и файл.Получите отчет о сбое от APPLE в FOLDER.

  2. Откройте приложение терминала и перейдите в созданную выше папку (с помощью команды CD)

  3. atos -arch armv7 -o '(ваше имя файла .app здесь)' / '(имя файла .SSYM здесь)' (место в отчете о сбое, где произошел сбой).Расположение памяти должно быть тем, в котором приложение падало согласно отчету.

Пример: atos -arch armv7 -o 'имя приложения.app' / 'имя приложения' 0x0003b508

Это покажет вам точную строку, имя метода, которое привело к сбою.

Спасибо

...