En tant qu'utilisateurs Linux / Unix, nous rencontrons fréquemment des problèmes. Et après de longues heures de résolution de problèmes, nous développons les compétences de débogage.
Maintenant, quels sont les bons principes, méthodes ou meilleures pratiques lorsque vous essayez de déboguer des problèmes généraux Unix?
Quels outils dois-je avoir, en tant qu'utilisateur moyen, pour trouver plus facilement la cause des problèmes?
debugging
troubleshooting
Stefan
la source
la source
Réponses:
Les méthodes dépendent du type de problème.
En général, « Comment poser des questions de manière intelligente » par Eric S. Raymond et Rick Moen est parfois un conseil utile pour se concentrer sur le problème et vérifier si vous avez pensé à des parties importantes du problème.
Votre première source d'informations pendant le débogage sont les fichiers journaux écrits par votre système / application. L'endroit commun pour eux est votre terminal ou un fichier dans
/var/log/
. De nombreuses applications prennent en charge différents types de niveaux de journalisation que vous devez augmenter si vous ne trouvez aucun message utilisable. Il y a souvent un-v
commutateur détaillé pour obtenir plus de messages.Toujours rien utilisable? Vérifiez vos fichiers de configuration, les autorisations des fichiers nécessaires à l'application et vous devrez peut-être modifier la configuration de votre enregistreur système, par exemple
/etc/syslog-ng.conf
.Si vous avez un message d'erreur, une recherche google mènera souvent à des entrées sur le forum ou à des publications usenet discutant des problèmes. Il est probable que vous puissiez y trouver une solution. Une liste de diffusion d'utilisateurs de projet, des babillards électroniques et des canaux IRC peuvent également être très utiles.
Parfois, les applications se bloquent sans aucun message. Un excellent outil pour découvrir le flux d'application, à côté de la lecture et de la modification du code est
strace
.Cet outil tracera les appels et les signaux du système. Lorsque des erreurs sont détectées par l'application, vous pouvez toujours découvrir des problèmes dans le système.
Une autre approche consisterait à déboguer l'application avec
gdb
. Vous devez être un utilisateur avancé et savoir quoi faire pour l'utiliser.la source
Si vous voulez un seul principe général pour le débogage, ce serait celui-ci: Comprenez le plus possible le fonctionnement du système. Comprendre chaque composant du système et les modes de défaillance de chaque composant. Sachez quels composants vous avez modifiés récemment et quels composants peuvent avoir changé ou échoué par eux-mêmes.
Si vous recherchiez des détails, la réponse d'Echox contient de nombreuses bonnes informations.
la source
David Agans a écrit un très bon livre sur le débogage , à mon avis. Il contenait également un ensemble de directives pour le débogage .
En plus de cela, les connaissances et l'expérience générales (dans le domaine) sont d'une grande aide pour voir les modèles. Étudiez comment les choses sont construites, démontez-les. Effectuez un entretien de routine. Organisez des expériences obscures. Lisez, lisez, lisez. Faites des trucs. Écrivez constamment. Aidez les autres à résoudre leurs problèmes. Choisissez vos batailles. Rester calme. Sourire. :)
la source