Si una aplicación falla en Windows, podemos verificar el Visor de eventos en las herramientas de administración para ver qué se ha bloqueado. A veces tiene información útil, otras no, pero es un comienzo.
En Linux, si una aplicación (alguna) falla, ¿cómo se comienza a rastrear lo que sucedió?
¿Hay, por ejemplo, algún registro central o algo similar?
12
/var/log/syslog
. Linux proporciona una manera para que un demonio sea notificado de fallas en el proceso. El apport de Ubuntu y el abrt de Red Hat lo utilizan para proporcionar servicios centralizados de registro y generación de informes. En general, se guarda un volcado de núcleo para que pueda invocar un depurador en el programa bloqueado.Respuestas:
El lugar normal para los registros del sistema es
/var/log/
. Lo que se pone en cada registro depende de la configuración de syslog, pero comúnmente todo, excepto los inicios de sesión, se dirige a/var/log/syslog
.Esto no garantiza que las aplicaciones individuales hayan dejado alguna pista allí en caso de un problema. Pero ellos, o el shell, probablemente escupirán algo a los flujos de error estándar / estándar, y si ejecuta una aplicación problemática en primer plano desde un terminal, podrá ver esas cosas.
fuente
/var/log
? ¿Qué archivo de registro? ¿Hay alguna convención?ls -lart
, el último archivo en la lista fue el más recientemente cambiado./var/log/syslog
, pero diferentes distribuciones hacen las cosas de manera diferente. Si sabe qué syslog está utilizando, puede examinar su configuración para determinar esto.En Ubuntu se escriben segfaults en
/var/log/kern.log
. Lo probé creando un programa que segfaults:Después de que se segfauló hubo esta línea en
/var/log/kern.log
:fuente
En Ubuntu, si está iniciando su aplicación desde un archivo de inicio .desktop, agregue la opción
Terminal=true
a su archivo .desktop.fuente