Best Practice zur Diagnose von Problemen [geschlossen]


8

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?


3
Wie gefragt, ist dies schrecklich allgemein. Ich empfehle, sich auf bestimmte Arten von Problemen zu beschränken (z. B. kann sich nicht anmelden, eine Anwendung wird nicht gestartet usw.). Stellen Sie mehrere Fragen, wenn Sie möchten. Und sie sollten wahrscheinlich ein Community-Wiki sein.
Gilles 'SO - hör auf böse zu sein'

Erste Regel: Sie haben Protokolle, schauen Sie sie sich an!
Shadok

Antworten:


8

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 -vausfü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.


3

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.


2

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. :) :)


Die Links sind defekt. Bitte erwägen Sie, sie zu aktualisieren.
mk ..
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.