¿Hay registros de fallos generados por iPhone Simulator?
el simulador se bloquea mucho pero no deja ningún rastro en la consola ... el registro de fallas será útil.
¿Hay registros de fallos generados por iPhone Simulator?
el simulador se bloquea mucho pero no deja ningún rastro en la consola ... el registro de fallas será útil.
Respuestas:
La consola mostrará el NSLog()
resultado de una aplicación que se ejecuta en el simulador. Los registros de fallos se guardan en un archivo.
He encontrado algunos en mi directorio personal bajo
~/Library/Logs/DiagnosticReports/
Tienen una extensión de archivo de .crash
Algo que aún no he descubierto es cómo hacer que se generen incluso si el depurador captura la EXC_BAD_ACCESS
señal.
Actualizar
Actualmente, (OSX 10.11.6), el .crash inicia sesión ~/Library/Logs/DiagnosticReports
, es cuando el propio emulador falla . Los registros de una aplicación que falla (pero el dispositivo emulador aún funciona bien) se encuentran en:
~ / Biblioteca / Registros / CoreSimulator
Por falla, hay una subcarpeta con una identificación única. Ordene por fecha, de modo que su bloqueo reciente sea la primera subcarpeta. Dentro de eso, comience mirando stderr.log
y system.log
.
También directamente debajo CoreSimulator
, ver CoreSimulator.log
y Simulator.log
.
~/Library/Logs/DiagnosticReports/
Estoy bastante seguro de que puede ver esto en la aplicación OS X Console ubicada en Utilidades. Sin embargo, si me equivoco, asegúrese de votarme en contra para que elimine esto.
ACTUALIZAR:
Específicamente (a partir de OSX 10.11.6),
Cuando una aplicación falla en el emulador, se agrega una subcarpeta (con una identificación única) a:
~ / Biblioteca / Registros / CoreSimulator
Dentro de eso, comience examinando stderr.log
y system.log
.
Cuando el emulador en sí se bloquea, se añade a una subcarpeta:
~ / Library / Logs / DiagnosticReports
No confundas este camino con
/ Biblioteca / Registros
(falta ~
al inicio), que tiene diferentes informes sobre su mac.
Aquí hay algo que funcionó para mí en un caso especial ... Mi aplicación se bloqueó con SIGKILL cuando terminó. Vería la excepción en main.m durante unos segundos, y luego la aplicación terminaría de terminar, por lo tanto, no habría posibilidad de obtener el seguimiento.
Hice muchas búsquedas sobre "dónde el simulador almacena sus registros de fallos" y nunca logré encontrar una respuesta. Sin embargo, el siguiente truco fue bastante útil y pude agarrar el registro de fallas sobre la marcha:
Básicamente, abra /Applications/Utilities/CrashReporterPrefs.app y cambie la configuración a "Desarrollador". Esto hará que CrashReporter muestre una ventana emergente con el registro de fallas después de que su aplicación se bloquee.
Encontré esto en la sección "Visualización de la consola del simulador de iOS y los registros de fallos" en este documento de Apple: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
Esto es mucho más confiable. En solo unos pocos pasos pude encontrar el número de línea de origen y el nombre del método:
Los registros de fallos aparecerán en ~ / Library / Logs / CrashReporter.
Cuando Xcode obtiene registros de bloqueo de un dispositivo conectado, los almacena en subcarpetas de ~ / Library / Logs / CrashReporter / MobileDevice