Es ist viel leichter, Fehler in einem Programm zu finden, wenn man weiß wie die einzelnen Systemaufrufe funktionieren, welche Parameter sie erwarten, welche Werte sie zurückgeben und so weiter. Viele dieser Informationen sind in den Entwickler-Manpages zu finden, die Sie mit der entsprechenden Abschnittsnummer aufrufen sollten, falls es ein gleichnamiges Kommando gibt, zum Beispiel
»man 2 readlink
«
. Fehlen die Entwickler-Manpages, zum Beispiel bei einer Standard-Ubuntu-Installation, lassen sie sich über das Paket
»manpages-dev
«
nachinstallieren.
Mit diesen Informationen können Sie oft sehr schnell sehen, was schiefläuft, wenn zum Beispiel ein Aufruf von
»open()
«
fehlschlägt – allerdings ist nicht jede nicht gefundene Datei gleich ein Fehler. Ein Blick auf die Dateirechte schadet in keinem Fall, denn das ist mit die häufigste Fehlerquelle.
Strace ist nicht nur bei der Fehlersuche praktisch, sondern verschafft auch eine Menge Wissen über die Funktion eines Linux-Systems und seiner Serverprozesse. Der große Vorteil von Linux hierbei ist, dass sein Innenleben sehr gut zugänglich und auch – weitgehend – gut dokumentiert ist.
Infos
Unter Linux ist das Strace-Kommando bei der Fehlersuche oft das Tool der Wahl. Leider fehlt es beim BSD-basierten Mac OS X. Ein Dtrace-basiertes Skript bietet einen Ausweg.