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
|