2009-09-02 10 views
15

Estoy buscando un controlador de fallas multiplataforma. Google Breakpad parece prometedor, pero le falta muy poca documentación, y requiere una cantidad razonable de manipulación para realmente comenzar.Controlador de fallas multiplataforma

¿Cuál es la mejor alternativa?

Todo lo que necesito es la capacidad de registrar confiablemente los volcados de emergencia, los rastreos de la pila y la información de la CPU en el momento de una falla. Alternativamente, ¿cuál es la experiencia con Google Breakpad? ¿Ha sido genial o horrible?

+0

¿Qué plataforma cruzada debería ser? gdb + coredump funciona muy bien en x86, arm, ppc, ... pero necesita la cadena de herramientas gcc. – stefaanv

Respuesta

7

Bueno, resulta que google-breakpad es bastante agradable después de todo. No es totalmente fácil de configurar, pero está bien para lo que necesito.

+0

Hola, parece que no puedo entender cómo construirlo. Cualquier ayuda sería apreciada - http://stackoverflow.com/questions/2925094/how-to-build-google-breakpad – Steve

+0

La documentación no es genial, lo admitiré. He estado tratando de mejorar eso, y creo que ahora está un poco mejor, mira: http://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad. Sin embargo, es una biblioteca realmente útil y se envía con gran cantidad de software de producción, por lo que hace el trabajo bastante bien. –

6

Escribí un artículo acerca de tirar la pila en C/C++ con Windows y Unix/Linux en DDJ hace algunos años. No usa un coredump, pero escribe montones de pila en un archivo de registro, en errores internos o cuando el sistema operativo determina un error de aplicación.

Tal vez le ayuda a:

Ver http://www.ddj.com/architect/185300443

+0

Sé que es antiguo pero no puedo ver la versión de Unix/Linux en el artículo. ¿Hay algún tipo de seguimiento en algún lugar? – yatsa

+0

Uh, lo veo ahora (hay códigos fuente con el ejemplo compatible con POSIX) – yatsa

3

Para el código compilado, hay dos buenas opciones - core dumps bajo UNIX variantes y Dr. Watson registros de errores/vertederos bajo Windows. Sé que esto no es una solución multiplataforma, pero si solo se trata de dos plataformas, tener dos soluciones no es tan malo.

Por supuesto, las soluciones solo capturan una imagen central en el momento del choque y no el estado de la máquina. No sé nada que capture la IO y la carga de la CPU en el momento de una falla de la aplicación. Es posible que desee mirar en el Mozilla Crash Reporter, que es, curiosamente, también conocido como "Breakpad" ... ¿coincidencia?

+1

no, no es una coincidencia - mozilla usa el código de barras de Google como su controlador de bloqueo. – Thomi