Benutzer-Werkzeuge

Webseiten-Werkzeuge


it_entwicklung:fehlerbehebung:start

Fehlerbehebung


Bei der Entwicklung und beim Betrieb lokaler Anwendungen treten immer wieder Fehler auf.

Hier sammle ich allgemeine Vorgehensweisen zur Fehlersuche sowie konkrete Probleme und deren Lösungen.

Ziel ist nicht nur, einen Fehler zu beseitigen, sondern die Ursache nachvollziehbar zu dokumentieren, damit eine bereits gefundene Lösung später schnell wieder zur Verfügung steht.

Grundprinzip

Bei der Fehlersuche gehe ich möglichst systematisch vor:

  1. Fehlerbild genau feststellen
  2. letzte Änderungen berücksichtigen
  3. Fehlermeldungen vollständig lesen
  4. Protokolldateien prüfen
  5. mögliche Ursachen eingrenzen
  6. Änderungen einzeln durchführen
  7. nach jeder Änderung erneut testen
  8. funktionierende Lösung dokumentieren

Nicht mehrere Dinge gleichzeitig ändern.

Wird immer nur eine Änderung vorgenommen und anschließend getestet, lässt sich wesentlich leichter feststellen, was die tatsächliche Ursache des Problems war.

Wichtige Informationsquellen

Bei der Fehlersuche sind insbesondere folgende Informationen hilfreich:

  • genaue Fehlermeldung
  • Zeitpunkt des Fehlers
  • zuletzt vorgenommene Änderungen
  • Logdateien
  • verwendete Programmversionen
  • Konfigurationsdateien
  • laufende Prozesse
  • verwendete Ports
  • Datenbankstatus

Fehlermeldungen

Fehlermeldungen sollten möglichst vollständig betrachtet werden.

Ein einzelner Satz beschreibt häufig nur die sichtbare Folge eines Problems. Weitere Informationen im Fehlerprotokoll können Hinweise auf die eigentliche Ursache liefern.

Deshalb sollte eine Fehlermeldung zunächst dokumentiert werden, bevor Änderungen am System vorgenommen werden.

Logdateien

Viele Anwendungen und Dienste führen eigene Protokolldateien.

Diese können beispielsweise Informationen enthalten über:

  • Startprobleme
  • Konfigurationsfehler
  • PHP-Fehler
  • Datenbankfehler
  • fehlende Dateien
  • Zugriffsprobleme

Bei Apache befinden sich wichtige Protokolle beispielsweise unter:

E:\xampp\apache\logs

Besonders wichtig ist:

E:\xampp\apache\logs\error.log

Weitere Informationen:

Apache

Ports und Prozesse

Kann ein Serverdienst nicht gestartet werden, sollte geprüft werden, ob der benötigte Port bereits von einem anderen Prozess verwendet wird.

Unter Windows kann beispielsweise die Belegung von Port 80 geprüft werden:

netstat -ano | findstr :80

Für HTTPS:

netstat -ano | findstr :443

Die dabei angezeigte Prozess-ID kann anschließend verwendet werden, um den verursachenden Prozess zu identifizieren.

Bereits dokumentierte Fehlerfälle

Apache startet nach Local nicht mehr

Nach der Nutzung von Local ließ sich Apache in XAMPP nicht mehr starten.

Ursache war ein noch laufender nginx-Prozess von Local.

Die konkrete Erfahrung und Lösung ist hier dokumentiert:

Local

MariaDB / InnoDB-Absturz

Für einen konkreten MariaDB-Ausfall mit beschädigtem InnoDB-Systembereich wurde ein vollständiges Recovery-Verfahren dokumentiert.

MariaDB-Recovery nach InnoDB-Absturz

Vor größeren Reparaturen

Bevor umfangreiche Reparaturversuche durchgeführt werden, sollte der aktuelle Zustand möglichst gesichert werden.

Je nach Problem können dazu gehören:

  • Projektdateien
  • Konfigurationsdateien
  • Datenbanken
  • komplette Datenverzeichnisse
  • vorhandene Logdateien

Bei einem schwerwiegenden Fehler zuerst überlegen, welche Daten noch gesichert werden können.

Eine Sicherung des fehlerhaften Zustands kann später ebenfalls hilfreich sein, wenn weitere Untersuchungen notwendig werden.

Dokumentation einer Lösung

Ein dokumentierter Fehlerfall sollte möglichst enthalten:

  • Fehlerbild
  • Umgebung
  • Fehlermeldung
  • Ursache
  • durchgeführte Prüfungen
  • Lösung
  • Ergebnis
  • wichtige Hinweise für einen erneuten Fehlerfall

So entsteht mit der Zeit eine persönliche Wissenssammlung aus tatsächlich aufgetretenen Problemen.

Merksatz

Erst verstehen, dann ändern.

Fehlerbild sichern, Ursache eingrenzen, Änderungen einzeln testen und die funktionierende Lösung anschließend dokumentieren.

↑

it_entwicklung/fehlerbehebung/start.txt · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki