Cómo leer los informes de fallas de macOS para solucionar problemas de su Mac

Cómo leer los informes de fallas de macOS para solucionar problemas de su Mac

Los bloqueos de aplicaciones en la Mac son generalmente bastante raros. Pero cuando suceden, es posible que desee rastrear su causa. Y si es un desarrollador, debe comprender por qué su aplicación falla. Aquí se explica cómo leer los informes de fallas de macOS y clasificar el lenguaje críptico.

Abrir informes de fallas

cómo-leer-los-informes-de-crash-1

Cuando una aplicación falla en su Mac, genera automáticamente un informe de bloqueo. Verá que esto aparece después del bloqueo con un cuadro de diálogo de advertencia que dice «[App] se ha ido inesperadamente. Ese informe de bloqueo está disponible para leer inmediatamente en esa ventana haciendo clic en el botón «Informe…». El informe de bloqueo también se puede encontrar en la aplicación Consola.

1. Abra la aplicación Consola escribiendo «Consola» en Spotlight o navegando hasta «Aplicación -> Utilidades -> Consola.aplicación».

cómo-leer-los-informes-de-crash-2

2. Haga clic en «Informes de usuario» en el menú de la izquierda, luego haga clic en el informe de bloqueo que desea ver. Todos estos archivos terminarán en «.crash» e incluirán la fecha y la aplicación bloqueada en el título. Los detalles del informe del bloqueo están disponibles en el panel de la derecha.

consola-leer-fallo-informes-2

Lectura de informes de fallos de macOS

Naveguemos por el informe de errores de arriba a abajo.

¿Qué se estrelló?

consola-leer-fallo-informes-3

La primera parte del informe de bloqueo le dice qué «proceso» o aplicación se bloqueó. La parte más importante para el solucionador de problemas promedio es el nombre del proceso.

Process: aText [11473]
Path: /Applications/aText.app/Contents/MacOS/aText
Identifier: com.trankynam.aText
Version: 2.19 (62)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: aText [11473]
User ID: 501

¿Cuándo se estrelló?

consola-leer-fallo-informes-4

La segunda parte nos dice cuándo ocurrió el accidente. También proporciona un poco de información sobre su sistema.

Date/Time: 2018-03-15 00:58:10.552 -0400
OS Version: Mac OS X 10.12.6 (16G1036)
Report Version: 12
Anonymous UUID: 6C985CFD-6975-3F30-50EB-0713315F5090
 
Time Awake Since Boot: 630000 seconds
 
System Integrity Protection: enabled

¿Qué causó el accidente?

consola-leer-fallo-informes-5

La siguiente parte es la más esclarecedora. El «tipo de excepción» proporcionado por la aplicación nos dice qué causó el bloqueo. El registro también informa qué subproceso se bloqueó: en este caso, el subproceso 0.

Crashed Thread: 0 Dispatch queue: com.apple.main-thread
 
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000040dedeadbec0
Exception Note: EXC_CORPSE_NOTIFY
 
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

Apple enumera algunos tipos de excepciones comunes en su documentación técnica:

  • Mal acceso a la memoria (EXC_BAD_ACCESS / SIGSEGV / SIGBUS) – el programa intenta acceder a la memoria de forma incorrecta o con una dirección no válida. Se adjunta un código que explica el problema de la memoria.
  • Salida anormal (EXC_CRASH / SIGABRT) – salida anómala, por lo general debido a una excepción de C++ no detectada y llamadas a abort()
  • Trampa de rastreo (EXC_BREAKPOINT / SIGTRAP) – como SIGABRT, pero esta salida le da al depurador adjunto la oportunidad de interrumpir el proceso en un punto de interrupción y rastrear el error.
  • instrucción ilegal (EXC_BAD_INSTRUCTION / SIGILL) – el procesado emitió una instrucción que no se entendió o no se pudo procesar.
  • Abandonar (SIGQUIT) – el proceso fue terminado por otro proceso con suficientes privilegios. Por lo general, un proceso de vigilancia finaliza un proceso que se comporta mal.
  • asesinado (SIGKILL) – el proceso se terminó a petición del sistema. Se adjuntará un código de terminación para explicar la excepción.

Como podemos ver en nuestro informe de bloqueo, la aplicación intentó acceder a la memoria no asignada. Esto se debe a un error de programación en la aplicación o a un estado de usuario inusual que hace que la aplicación asigne la memoria de forma incorrecta.

¿Qué condujo al accidente?

consola-leer-fallo-informes-6

Después de eso, vemos una lista cronológica inversa de lo que condujo al accidente. Estos están ordenados por subproceso, comenzando con el subproceso 0.

Hay cuatro columnas en este informe. El primero reporta el número del evento en orden cronológico inverso, comenzando en 0. El segundo es el identificador del proceso. El tercero es la dirección del proceso en memoria. El cuarto es el nombre de la tarea del programa.

Este «retroceso» puede ser algo desconcertante. Está «simbolizado», lo que significa que algunas de las direcciones de memoria han sido reemplazadas con nombres de funciones o tareas de aplicaciones. A veces, esto no se puede hacer por completo, dejando direcciones de memoria ilegibles esparcidas por el informe.

Vemos esto en el informe de bloqueo anterior: com.trankynam.aText no está simbolizado. Incluso con una simbolización completa, puede ser difícil leer el rastro inverso. A veces, los desarrolladores incluyen notas útiles sobre tareas y eventos de la aplicación. Otras veces, son títulos crípticos o código numérico. Si puede dar sentido a la simbolización, es posible que pueda comprender lo que está sucediendo. Pero es igualmente posible que necesite haber codificado la aplicación usted mismo para dar sentido a la traza inversa.

Conclusión: ¿Es esto útil?

Si es un desarrollador, leer los informes de fallas es esencial. Le ayuda a comprender qué parte de su aplicación falla y por qué. Si eres un usuario, no son tan útiles. Pero si tiene un bloqueo persistente, los informes de bloqueo pueden ayudarlo a solucionar el problema o trabajar con el desarrollador para solucionar el problema. Es posible que obtenga un código de error útil para Google o que pueda proporcionar soporte técnico con la información correcta. Si quieres conocer los detalles sangrientos, puedes leerlo todo en Nota técnica de Apple sobre bloqueos.

Experto Geek - Tu Guía en Tendencias Tecnológicas