Чи існують журнали збоїв, створені iPhone Simulator?
симулятор сильно виходить з ладу, але не залишає слідів у консолі ... журнал аварій буде корисним.
Чи існують журнали збоїв, створені iPhone Simulator?
симулятор сильно виходить з ладу, але не залишає слідів у консолі ... журнал аварій буде корисним.
Відповіді:
На консолі відображатимуться NSLog()
результати програми, запущеної в симуляторі. Журнали збоїв зберігаються у файлі.
Я знайшов їх у своєму домашньому каталозі під
~/Library/Logs/DiagnosticReports/
Вони мають розширення файлу .crash
Я ще не зрозумів, як змусити їх генерувати, навіть якщо відладчик захоплює EXC_BAD_ACCESS
сигнал.
Оновлення
Наразі (OSX 10.11.6) вхід .crash входить ~/Library/Logs/DiagnosticReports
, коли сам емулятор виходить з ладу . Журнали для додатком збою (але емулятор пристрій все ще працює нормально), знаходяться в:
~ / Бібліотека / Журнали / CoreSimulator
За аварію існує підпапка з унікальним ідентифікатором. Сортувати за датою, щоб ваша недавня збійка стала першою підпапкою. Всередині цього почніть з переглядуstderr.log
та system.log
.
Також безпосередньо під CoreSimulator
, див. CoreSimulator.log
Та Simulator.log
.
~/Library/Logs/DiagnosticReports/
Я майже впевнений, що ви можете побачити це в додатку консолі OS X, розташованому в утилітах. Якщо я помиляюся, не забудьте проголосувати мене за біса, тому я видалю це.
ОНОВЛЕННЯ:
Зокрема (на OSX 10.11.6),
Коли програма аварійно завершує роботу на емуляторі, підпапка (з унікальним ідентифікатором) додається до:
~ / Бібліотека / Журнали / CoreSimulator
В рамках цього почніть з вивчення stderr.log
та system.log
.
Коли емулятор сам падає, вкладена папка додається:
~ / Бібліотека / Журнали / DiagnosticReports
Не плутайте цей шлях із
/ Бібліотека / Журнали
(бракує ~
старту), у якому є різні звіти про ваш комп'ютер
Ось щось, що спрацювало для мене в особливому випадку ... Моє додаток аварійно завершувало роботу із SIGKILL. Я бачив би виняток у main.m протягом декількох секунд, а потім додаток закінчував би завершувати роботу - таким чином, немає шансів отримати зворотну трасування.
Я багато шукав на тему "де симулятор зберігає свої журнали аварій", і так і не зміг знайти відповідь. Однак наступний трюк виявився досить зручним, і я зміг схопити журнал аварій на льоту:
В основному, відкрийте /Applications/Utilities/CrashReporterPrefs.app та змініть налаштування на "Developer". Це призведе до того, що CrashReporter відобразить спливаюче вікно з журналом аварій після завершення роботи програми.
Я знайшов це в розділі «Перегляд консолі симулятора iOS та журналів збоїв» у цьому документі від Apple: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
Це набагато надійніше. Лише за кілька кроків я зміг знайти номер рядка джерела та ім'я методу:
Журнали аварійних збоїв відображатимуться під ~ / Бібліотека / Журнали / CrashReporter.
Коли Xcode отримує журнали збоїв із підключеного пристрою, він зберігає їх у підпапках ~ / Бібліотека / Журнали / CrashReporter / MobileDevice