2013-07-05 4 views
8

Я не могу symbolicate OS X (не IOS) крэш логи от тестеров и пользователей, использующих XCode 4.6. Журналы аварии не могут быть втянуты в организатор и организатор не показывает никаких крешлогов из ~/Library/Logs/DiagnosticReports /, хотя некоторые журналы в этом каталоге.OS X Краш Log Symbolication

Didier Мейлфант прокомментировал предыдущую тему XCode not importing OS X crash log что

Суть довольно проста. На данный момент (Xcode 4.6) журналы сбоя OS X не могут быть импортированы в Xcode. Только iOS.

Это текущее положение дел? Трудно представить, что организации могут поддерживать новое программное обеспечение OS X без эффективных способов интроспекции отчетов о сбоях.

+0

см http://stackoverflow.com/questions/6085734/how-do-i-symbolicate-a-crash-report-of-a-mac-os-x-app-that-a-user-emailed-to-me –

+0

Благодарю. Но ответ, который вы цитируете, больше, чем на год старше ответа, который я привел выше, что противоречит ему. Вы обычно символизируете пользовательский logsin xcode 4.6.? –

ответ

3

Вы можете использовать GDB для Symbolication положи свой релиз сборки и файл .dSYM в том же каталоге открытый терминал

$ cd directory 
$ gdb MyApp.app 
(gdb) info line *0x00085f3c 

или вы можете использовать atos как предложено trojanfoe

$cd directory 
$atos -o MyApp.app/Contents/MacOS/MyApp 
info 0x00085f3c 

или

$ cd directory 
$ lldb MyApp.app 
(lldb) image lookup -v --address 0x1ec4 
+1

Или 'atos': https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/atos.1.html – trojanfoe

+0

@trojanfoe Обновлено. –

+2

Или 'lldb' :)' поиск изображения -v --address 0x1ec4' – trojanfoe

5

Если у вас есть трассировка стека; например:

0 com.your_app  0x00000001016191e0 0x1015fb000 + 123360 
1 com.your_app  0x000000010161509d 0x1015fb000 + 106653 
2 com.your_app  0x00000001016147b9 0x1015fb000 + 104377 
3 com.your_app  0x000000010161df81 0x1015fb000 + 143233` 

Попробуйте следующее:

atos -o YOUR_APP.app.dSYM/Contents/Resources/DWARF/YOUR_APP -l 0x1015fb000 0x00000001016191e0 0x000000010161509d 0x00000001016147b9 0x000000010161df81` 
2

У нас была такая же проблема с нашим приложением, и я был symbolicating отчеты о сбоях вручную построчно с atos.

я теперь переделаны symbolicate сценарий Apple, таким образом, что он работает с Mac приложений и отчетов о сбоях из PLCrashReporter.

https://github.com/lksnmnn/Symbolicate-CrashReports

Как использовать:

Убедитесь, что все следующие файлы на компьютере:

  1. Отчет аварии: report.crash
  2. dSYM файл вашего приложения: MyApp.dSYM
  3. Исполняемый/приложение папку вашего приложения: MyApp.Приложение
  4. Усовершенствованный symbolicate сценарий: symbolicatecrash

Теперь перейдите в командной строке (Терминал) и выполните следующие действия:

# set the developer directory 
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" 

# Now run the script 
/Path/To/symbolicatecrash /Path/To/report.crash > /Path/To/readable_report.crash 

# Use -v for verbose logging. 

Сценарий найдет ваш dSYM и исполняемый файл и символизирует столько, сколько он может. Теперь вы найдете symbolicated отчет в указанном выходном файле readable_report.crash

параметров сборки:

Для собственных отчетов и символы, установить параметры сборки для этого:

Strip Debug Symbols During Copy: Yes 
Strip Style: All Symbols 
Strip Linked Product: Yes 

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

  • Нет связанных вопросов^_^