03.09.2016 Aufrufe

Ausgabe_LW_2015-05

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Software-Fehler<br />

RETTEN & REPARIEREN SPECIAL<br />

Zahl von Bibliotheken (Modulen) auf.<br />

Es ist die Aufgabe des Paket-Maintainers<br />

einer Distribution oder bei inoffiziellen<br />

Paketen die des Entwicklers, die<br />

benötigten Komponenten als Abhängigkeiten<br />

zu referenzieren, damit der<br />

Paketmanager diese automatisch mit<br />

installiert. Das gelingt nicht allen Entwicklern,<br />

und sogar bei offiziellen Paketen<br />

kann es passieren, dass erst noch<br />

andere Abhängigkeiten manuell nachinstalliert<br />

werden müssen. In diesem<br />

Fall wird sich der Script-Interpreter<br />

über eine ungültige Methode oder über<br />

ein nicht gefundenes Modul beschweren.<br />

Ein Merkmal dieser Fehler ist die<br />

Reproduzierbarkeit bei jedem Aufruf.<br />

Zwar ist das Problem meist recht leicht<br />

mit dem Nachrüsten eines Pakets erledigt,<br />

jedoch ist der Paketname nicht<br />

aus der Fehlermeldung ersichtlich, sondern<br />

lediglich der Methoden- oder<br />

Modulname. Der erfolgversprechende<br />

Lösungsweg ist eine Suche im Web mit<br />

dem Wortlaut der Fehlermeldung. Bei<br />

großen Distributionen wie Debian,<br />

Ubuntu, Mint, Fedora und Arch ist es<br />

wahrscheinlich, dass bereits andere<br />

Nutzer auf die gleichen Schwierigkeiten<br />

gestoßen sind. Am besten ist<br />

man mit den Online-Communities beraten,<br />

die mit der eingesetzten Linux-<br />

Distribution verknüpft sind, wobei die<br />

englischsprachigen Sites aufgrund der<br />

höheren Zahl der Nutzer mehr Informationen<br />

bieten. Ebenfalls eine gute<br />

Anlaufstelle sind Frage-Antwort-Foren<br />

wie http://unix.stackexchange.com.<br />

Segmentation Fault: Verabschiedet<br />

sich ein Programm mit der Meldung<br />

„Segfault“, so wurde es nach einem<br />

Speicherzugriffsfehler vom Kernel beendet.<br />

Der Auslöser kann schlicht ein<br />

Bug sein, und in diesem Fall wird sich<br />

der Absturz bei jedem Aufruf reproduzieren<br />

lassen. Treten Segfault-Meldungen<br />

ohne ein festes Muster aus, ist<br />

dies jedoch ein Hinweis auf ein Hardware-Problem.<br />

Fehlerhafte Speicherbausteine oder<br />

zu heiß gelaufene Prozessoren machen<br />

sich ebenfalls in spontanen Segfaults<br />

bemerkbar, die dann aber nicht exakt<br />

reproduzierbar sind. Um Hardware als<br />

Auf grafischer Oberfläche verraten Programme wenig über Fehlerursachen. Der Aufruf über<br />

das Terminal (hier der VLC) präsentiert Details über Probleme und Absturzursachen.<br />

Typische Python-Fehlermeldung: Viele Programme für den Linux-Desktop sind in Python<br />

geschrieben. In diesem Beispiel fehlt eine Bibliothek für die Methode „souphttpsrc“.<br />

Ursache für dieses Fehlerbild auszuschließen,<br />

empfiehlt sich der Einsatz<br />

des Speichertestprogramms Memtest86+<br />

5.01 (Open Source, Download<br />

der ISO-Datei unter www.memtest.<br />

org, auch unter „Extras und Tools“<br />

bootfähig auf Heft-DVD). Sobald Sie<br />

Memtest86+ starten, be ginnt die Überprüfung<br />

der Speicherbausteine.<br />

Lassen Sie die Tests mehrere Durchgänge<br />

absolvieren, die unter „Pass“<br />

angegeben sind. Je nach eingebautem<br />

Speicher müssen Sie einige Stunden für<br />

die Diagnose einplanen. Sie können<br />

dann aber sicher sein, dass die Tests<br />

ausführlich genug sind, um die meisten<br />

Fehler zu finden.<br />

Treiber- und Gerätefehler: Stürzen<br />

Programme ab, die bestimmte Merkmale<br />

der Hardware nutzen, etwa Open<br />

GL für die Grafikausgabe, oder einen<br />

Netzwerkchip, dann liefert ein Blick in<br />

die Kernel-Meldungen mehr Informationen.<br />

Der Befehl<br />

dmesg -T<br />

zeigt alle Meldungen der Kernel-Logfiles<br />

mit Zeitstempel an. Hier finden Sie<br />

auch Fehlermeldungen und Warnhinweise<br />

zu allen Geräten und Treibern.<br />

Die Eingabe<br />

dmesg -T -l err<br />

reduziert die <strong>Ausgabe</strong> auf Fehler, und<br />

dmesg -T -l warn<br />

listet nur Warnhinweise. Zahlreiche<br />

normale Meldungen, wie sie der Kernel<br />

etwa für die Initialisierung von<br />

Geräten protokolliert, werden dann<br />

weggefiltert.<br />

●<br />

LinuxWelt 5/<strong>2015</strong><br />

39

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!