Als Linux / Unix-Benutzer treten häufig Probleme auf. Und nach langen Stunden der Problemlösung entwickeln wir die Fähigkeit zum Debuggen.
Was sind nun gute Prinzipien, Methoden oder Best Practices beim Debuggen allgemeiner Unix-Probleme?
Welche Tools sollte ich als durchschnittlicher Benutzer haben, um die Ursache von Problemen leichter zu finden?
debugging
troubleshooting
Stefan
quelle
quelle
Antworten:
Die Methoden hängen von der Art des Problems ab.
Im Allgemeinen ist " Wie man Fragen auf intelligente Weise stellt " von Eric S. Raymond und Rick Moen manchmal ein hilfreicher Rat, um sich auf das Problem zu konzentrieren und zu überprüfen, ob Sie über wichtige Teile des Problems nachgedacht haben.
Ihre erste Informationsquelle beim Debuggen sind die Protokolldateien, die Ihr System / Ihre Anwendung schreibt. Der übliche Ort für sie ist Ihr Terminal oder eine Datei in
/var/log/
. Viele Anwendungen unterstützen verschiedene Arten von Googlevels, die Sie erhöhen sollten, wenn Sie keine verwendbaren Nachrichten finden. Oft gibt es einen-v
ausführlichen Schalter, um mehr Nachrichten zu erhalten.Immer noch nichts brauchbares? Überprüfen Sie Ihre Konfigurationsdateien, Berechtigungen der von der Anwendung benötigten Dateien, und möglicherweise müssen Sie beispielsweise die Konfiguration Ihres Systemloggers ändern
/etc/syslog-ng.conf
.Wenn Sie eine Fehlermeldung haben, führt eine Google-Suche häufig zu Message Board-Einträgen oder Usenet-Postings, in denen die dahinter stehenden Probleme besprochen werden. Es ist wahrscheinlich, dass Sie dort eine Lösung finden können. Eine Mailingliste für Projektbenutzer, Message Boards und IRC-Kanäle kann ebenfalls sehr hilfreich sein.
Manchmal stürzen Anwendungen ohne Nachrichten ab. Neben dem Lesen und Ändern des Codes ist dies ein großartiges Tool, um den Anwendungsfluss zu ermitteln
strace
.Dieses Tool verfolgt Systemaufrufe und -signale. Wenn die Anwendung Fehler abfängt, können Sie immer noch Probleme in der Systrace feststellen.
Ein anderer Ansatz wäre das Debuggen der Anwendung mit
gdb
. Sie sollten ein fortgeschrittener Benutzer sein und wissen, was zu tun ist, um dies zu verwenden.quelle
Wenn Sie ein einziges allgemeines Prinzip für das Debuggen wünschen, ist dies: Verstehen Sie, wie das System funktioniert, so gut Sie können. Verstehen Sie jede Komponente des Systems und die Fehlermodi jeder Komponente. Beachten Sie, welche Komponenten Sie kürzlich geändert haben und welche Komponenten möglicherweise selbst geändert wurden oder ausgefallen sind.
Wenn Sie nach Einzelheiten suchen, enthält die Antwort von echox viele gute Informationen.
quelle
David Agans hat meiner Meinung nach ein sehr schönes Buch über das Debuggen geschrieben . Es enthielt auch eine Reihe von Richtlinien für das Debuggen .
Darüber hinaus sind allgemeines (Domänen-) Wissen und Erfahrung eine große Hilfe beim Erkennen von Mustern. Studieren Sie, wie Dinge gebaut werden, nehmen Sie sie auseinander. Führen Sie routinemäßige Wartungsarbeiten durch. Stellen Sie obskure Experimente auf. Lesen Las gelesen. Mach Sachen. Schreibe ständig. Helfen Sie anderen Menschen bei ihren Problemen. Wähle deine Schlachten. Ruhe bewahren, ruhig bleiben. Lächeln. :) :)
quelle