Como usuarios de Linux / Unix, nos encontramos con problemas con frecuencia. Y después de largas horas de resolución de problemas, desarrollamos la habilidad de depuración.
Ahora, ¿cuáles son los buenos principios, métodos o mejores prácticas al tratar de depurar problemas generales de Unix?
¿Qué herramientas debo tener, como usuario promedio, para facilitar la búsqueda de la causa de los problemas?
debugging
troubleshooting
Stefan
fuente
fuente
Respuestas:
Los métodos dependerán del tipo de problema.
En general, " Cómo hacer preguntas de manera inteligente ", de Eric S. Raymond y Rick Moen, a veces es un consejo útil para enfocarse en el problema y verificar si ha pensado en partes importantes del problema.
Su primera fuente de información durante la depuración son los archivos de registro que escribe su sistema / aplicación. El lugar común para ellos es su terminal o un archivo
/var/log/
. Muchas aplicaciones admiten diferentes tipos de niveles de registro que debe aumentar si no puede encontrar ningún mensaje utilizable. A menudo hay un-v
interruptor detallado para obtener más mensajes.¿Todavía nada utilizable? Verifique sus archivos de configuración, los permisos de los archivos que necesita la aplicación y quizás tenga que cambiar la configuración de su registrador de sistema, por ejemplo
/etc/syslog-ng.conf
.Si tiene un mensaje de error, una búsqueda en Google a menudo conducirá a entradas en el tablero de mensajes o publicaciones de Usenet para discutir los problemas detrás de él. Es probable que pueda encontrar una solución allí. Una lista de correo de usuarios del proyecto, tableros de mensajes y canales IRC también pueden ser muy útiles.
A veces las aplicaciones se bloquean sin ningún mensaje. Es una gran herramienta para descubrir el flujo de la aplicación, además de leer y modificar el código
strace
.Esta herramienta rastreará las llamadas y señales del sistema. Cuando la aplicación detecta errores, aún puede descubrir problemas en el sistema.
Otro enfoque sería depurar la aplicación con
gdb
. Debe ser un usuario avanzado y saber qué hacer para usar esto.fuente
Si desea un único principio general para la depuración, sería este: entienda cómo funciona el sistema, tanto como pueda. Comprenda cada componente del sistema y los modos de falla de cada componente. Tenga en cuenta qué componentes ha cambiado recientemente y qué componentes pueden haber cambiado o fallado por sí mismos.
Si estaba buscando detalles, la respuesta de echox tiene mucha buena información.
fuente
David Agans escribió un muy buen libro sobre depuración , en mi opinión. También contenía un conjunto de pautas para la depuración .
Además de eso, el conocimiento general (dominio) y la experiencia son de gran ayuda para ver patrones. Estudie cómo se construyen las cosas, desmóntelas. Realizar mantenimiento de rutina. Prepara experimentos oscuros. Leer leer leer. Hacer cosas Escribe constantemente. Ayuda a otras personas con sus problemas. Escoge tus batallas. Mantenga la calma. Sonrisa. :)
fuente