¿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.
iphone
ios-simulator
crash-reports
Raptor
fuente
fuente
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
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: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
ysystem.log
.También directamente debajo
CoreSimulator
, verCoreSimulator.log
ySimulator.log
.fuente
~/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:
Dentro de eso, comience examinando
stderr.log
ysystem.log
.Cuando el emulador en sí se bloquea, se añade a una subcarpeta:
No confundas este camino con
(falta
~
al inicio), que tiene diferentes informes sobre su mac.fuente
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
fuente
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:
fuente
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
fuente
Para mí, era una expresión que había agregado a la ventana de observación del depurador. Cuando se alcanzaba un punto de interrupción, la expresión incorrecta provocaba que XCode fallara en el segmento.
fuente