26 diciembre, 2014

Generar logs de aplicaciones bloqueadas/crashes ("dejó de funcionar, no responde") a través de WER [Windows Error Reporting]

En ocasiones ocurren inesperados crashes en aplicaciones o procesos del sistema que provocan a su vez comportamientos anómalos (cuelgues/congelados) en software de terceros.
Así como pueden ser los típicos: "explorer.exe dejó de responder", "iexplorer.exe dejó de funcionar", "ocurrió un error inesperado con outlook.exe, dejó de funcionar", etc.

Para este tipo de casos y poder generar un log en el que podamos analizar por que dicha aplicación se quedó bloqueada es necesario si no lo tenemos ya, habilitar el servicio Windows Error Reporting (WER) en los servicios de Windows, que por defecto suele estar habilitado.
Este servicio registra todos los eventos de errores ya sean software o hardware de nuestro OS Windows, para después enviar un reporte a Microsoft con información relevante al error ocurrido. Si es que antes el propio servicio en sus tablas de posibles causas ya registradas no lo resuelve antes.

Ahora podremos hacer esto de forma manual en el registro de Windows o simplmente copiar el código de registro que dejo a continuación y pegarlo en un documento de texto al que guardaremos y ejeutaremos posteriormente, con el nombre que queramos pero con extensión .reg.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\Explorer.exe]
"DumpFolder"="C:\\WER Dumps"
"DumpType"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe]
"GlobalFlag"=dword:02000100
"PageHeapFlags"=dword:00000003
Después de a ver hecho lo anterior el servicio WER escribirá un registro detallado del problema en el directorio C:\WER Dumps.

Aunque también existe, faltaría más!, una aplicación al respecto para realizar estas tareas de forma más cómoda.

AppCrashView es un software propiedad de Nirsoft con el que veremos las posibles causas de por que una aplicación/proceso quedó bloquead@ y/o no responde.

Figura 1: AppCrashView analizando un log de iexplorer.exe después de dejar de responder.

Nos mostrará las librerías dependientes al error causado, paths, alertas de mensajes, podremos guardar el log o informe, entre otras cosas.

Una vez se lanza la aplicación con privilegios administrativos, esta escanea hasta la fecha actual los errores de momentos reportados por el servicio WER, de tal modo que nos muestra dichos "bloqueos" con sus logs en la parte inferior en plaintext para poder interpretarlos con claridad.

Más información sobre WER:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb513613(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb513638(v=vs.85).aspx

Saludos!

No hay comentarios:

Publicar un comentario

Entradas Relacionadas