Есть ли журналы сбоев, создаваемые 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 Console, расположенном в Utilities. Если я ошибаюсь, не забудьте проголосовать за меня, чтобы я удалил это.
ОБНОВИТЬ:
В частности (начиная с OSX 10.11.6),
Когда приложение вылетает на эмуляторе, вложенная папка (с уникальным идентификатором) добавляется в:
~ / Библиотека / Журналы / CoreSimulator
В рамках этого начните с изучения stderr.log
и system.log
.
Когда эмулятор сам падает, вложенная папка добавляется:
~ / Библиотека / Журналы / DiagnosticReports
Не путайте этот путь с
/ Библиотека / Журналы
(отсутствует ~
при запуске), в котором есть разные отчеты о вашем Mac.
Вот кое-что, что сработало для меня в особом случае ... Мое приложение вылетало из-за SIGKILL при завершении. Я бы увидел исключение в main.m в течение нескольких секунд, а затем приложение завершило бы завершение работы - таким образом, не было бы шансов получить обратную трассировку.
Я много искал, «где симулятор хранит журналы сбоев», и так и не смог найти ответа. Однако следующий трюк мне очень пригодился, и я смог на лету получить журнал сбоев:
Обычно откройте /Applications/Utilities/CrashReporterPrefs.app и измените настройку на «Разработчик». Это приведет к тому, что CrashReporter отобразит всплывающее окно с журналом сбоев после сбоя вашего приложения.
Я нашел это в разделе «Просмотр консоли симулятора iOS и журналов сбоев» в этом документе от Apple: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
Это намного надежнее. Всего за несколько шагов я смог найти номер исходной строки и имя метода:
Журналы сбоев будут отображаться в ~ / Library / Logs / CrashReporter.
Когда Xcode получает журналы сбоев с подключенного устройства, он сохраняет их в подпапках ~ / Library / Logs / CrashReporter / MobileDevice.