Open Source im professionellen Einsatz

Software entwickeln unter Linux

Gesucht - gefunden

In der Programmieren-Rubrik lesen Sie, wie Sie mit Log4j Debug- und Log-Ausgaben zur Fehlersuche einsetzen, mit tDOM nach Daten in XML-Files fahnden und mit »hd« die Unterschiede zwischen zwei Dateien darstellen. Achim Leitner

Debugger sind eine hilfreiche Erfindung. Bei der Fehlersuche können sie aber nicht alle Fälle abdecken: Oft verstecken sich die Bugs nicht an einer isolierten Stelle, die Schritt für Schritt nachvollziehbar ist. Solange nicht klar ist, wo ungefähr der Fehler steckt, ist ein Debugger nur bedingt sinnvoll.

Hier schlägt die Stunde des einfachsten Hilfsmittels bei der Fehlersuche: »System.println()«, »printf()« oder »puts«, je nach Programmiersprache und eigenen Vorlieben. Diese Funktionen geben mal das Zwischenergebnis einer Berechnung aus, mal die Information "Methode wurde aufgerufen". Mit ihrer Hilfe wird der Programmablauf nachvollziehbar, ohne das komplette Programm Schritt für Schritt durchgehen zu müssen.

Ist der Fehler gefunden, löscht man die Debugging-Zeilen wieder - die Software soll ja schlank bleiben. Allerdings passiert es nur zu häufig, dass man später einen ähnlichen Fehler sucht und die gleiche Ausgabe wieder einfügt. Mit einer ausgeklügelten Logging-Architektur lässt sich das vermeiden.

Das Java-Paket Jog4j ist eine vorbildliche Lösung für dieses Problem: Der Quelltext kann beliebig viele Logging- und Debug-Aufrufe enthalten, erst die Konfiguration bestimmt, welche tatsächlich gewünscht sind. Obwohl das Paket auf Performance getrimmt ist, bleibt es sehr einfach benutzbar und flexibel.

Log4j erinnert an Syslog

Log4j orientiert sich an Syslog. Es teilt die einzelnen Meldungen in Kategorien (die es allerdings hierarchisch strukturiert) und in Prioritäten ein. Die Ausgaben können auf der Konsole, in Dateien, über Sockets, im Unix-Syslog oder im NT-Event-Log landen. Auch die Formatierung der Ausgaben lässt sich belie- big einstellen. Die Konfigurationsdateien können als Java-Properties-File oder als XML-Datei vorliegen.

Apropos XML: Die Anzahl der Tools und Bibliotheken, die XML verarbeiten, wächst ständig weiter. Mit tDOM verfügt auch Tcl über eine sehr leistungsfähige Unterstützung des DOM-Standards, mit dem der Zugriff auf XML-Daten ohne großen Aufwand gelingt.

Der Perl-Snapshot stellt in dieser Ausgabe den ersten Teil von »hd« vor. Dieses kleinen Tool findet - ähnlich wie »diff« - die Unterschiede zwischen zwei Dateien, allerdings ist seine Ausgabe eine HTML-Seite.

Programmierer-Software

Versionsnummern der aktuellen stabilen Releases am 18.02. 2002 und Änderungen gegenüber dem Vormonat.

Skriptsprachen

Guile 1.4

NetRexx 2.02

Object Rexx 2.2

Perl 5.6.1

PHP 4.1.1

Python 2.2

Ruby 1.6.6

Tcl 8.3.4

Java

Blackdown 1.3.1-02a

IBM Java2 SDK 1.3-1.0

Jikes 1.15

Kaffee 1.0.6

Sun SDK 1.4.0

Compiler

Binutils 2.11.2

Clisp 2.27

Free Pascal 1.0.4

GCC 3.0.3

GForth 0.5.0

GNU Pascal 2.0

Libraries

FLTK 1.0.11

glibc 2.2.5

glut 3.7

GTK+ 1.2.10

LessTif 0.93.18

libpng 1.2.1

libsdl 1.2.3

libstdc++ 3.0.96

libxml 2.4.15

Mesa 4.0.1

OpenSSL 0.9.6c

Qt 3.0.1

wxWindows 2.2.9

zlib 1.1.3

Debugger

Checker 0.9.4

Code Medic 1.1.3

DDD 3.3

GDB 5.1.1

Insight 5.1.1

Build-Tools

Autoconf 2.52

Automake 1.5

Compilercache 1.0.10

CVS 1.11.1p1

Libtool 1.4.2

GNU Make 3.79.1

SWIG 1.3.11

IDEs

Anjuta 0.1.9

Code Crusader 3.0.3

C-Forge 2.0

CodeWarrior 6.0

Emacs 21.1

KDevelop 2.0.2

Kylix 2.0

Motor 3.2.0

SNiFF+ 4.0.2

Source-Navigator 5.0

VIM 6.0.225

XEmacs 21.1.14

XWPE 1.5.26a

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook