2010-04-23 2 views
13

я не могу управлять, чтобы сделать мой код symbolicated ... Я прочитал часть «ниже»:Symbolicate АПЧРКА iphone приложение падает

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

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

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

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

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

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

Cheers.

Gotye.

+0

Является .app и .dSYM файлов у вас на рабочем столе точных те, которые были созданы в то время, вы построили свой специальный двоичный файл? Любое изменение, даже незначительное, может нарушить процесс символики. –

ответ

8

Для того, чтобы symbolicate ваш отчет об ошибке, попробуйте этот подход:

(а) Расположить symbolicator (/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/ A/Resources/symbolicatecrash)

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

(с) Выполнить команду как /Developer/Platforms/iPhoneOS.platform/Developer/ Библиотека/PrivateFrameworks/DTDeviceKit.framework/Версии/A/Ресурсы/символическая atorcrash .crash.приложение (упомянуть весь путь отчета об аварии и файл приложения)

отчет

(d) Symbolicated аварии будет отображаться

+0

Тот же отчет о сбоях, который я получаю в журналах устройств в Organizer, я получаю с помощью вашего метода. Зачем? –

+0

для меня, добавив явный путь к .app; в то время как Xcode (с версии 4.2, я думаю), должен был пропустить это - я получаю несимвольные сбои для своих приложений в Xcode. – kender

+0

@kender: как я уже упоминал, следует упомянуть весь путь как к сообщению приложения, так и к сбою, путают с не символическим битом отчета, какую версию Xcode вы используете? –

5

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

  1. Скопируйте релиз .app, который был перенесен в appstore, файл .dSYM, созданный на момент выпуска, и отчет о сбое получают от APPLE в ПАПКУ.

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

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

Ex: Atos -arch ARMv7 -o 'приложение name.app'/'Имя приложения' 0x0003b508

Это покажет вам точную линию, имя метода, который в результате аварии.

Благодаря

+0

Это не то же самое, что символизировать весь отчет о сбоях. Это дает вам соответствующий символ для одного адреса. –

+0

@DaveCameron Да, вышесказанное делает только это, но если используется без адреса, это позволяет анализировать несколько местоположений, отправляя адрес один за другим. http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports/4954949#4954949 –

12

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

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

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

  • отладочные: Да
  • Debug Information Format: DWARF с dSYM Файл
  • Постобработки развертывания: Да
  • Strip Связанного продукта: Да
  • Использовать разделительную полосу: Да
  • Полоса отладочных символов во время копирования: нет
  • полосы Стиль: Все символы

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

Для справки, я полагал, что все это после изучения этой страницы: 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

+0

Генерировать отладочную информацию - Да, отладочную информацию Dwarf + dSym, Strip Debug Durig Копировать Нет, Стиль Strip All, все установлены как это по умолчанию. Настройка развертывания Постпроцессинг и связанный с лентой продукт не повлияли на меня. Однако использование отдельной полосы - вот что заставило ее работать !!! спасибо – dizy

Смежные вопросы