Thread Debugging von lang laufenden Perlprogrammen (6 answers)
Opened by z80crew at 2005-04-06 02:58

z80crew
 2005-04-06 02:58
#53376 #53376
User since
2005-04-06
3 Artikel
BenutzerIn
[default_avatar]
Ich habe einige Perl-Programme, die Daten in der Gigabyte-Größenordnung bearbeiten und daher ziemlich lange laufen - so mehrere Stunden lang. Dummerweise brechen manche Programme dabei ab, ohne eine Fehlermeldung, etwa auf STDERR, zu hinterlassen. Die Programme sind dabei als Filter realisiert, d.h. die zu bearbeitenden Textdaten werden mittels while(<>) von STDIN eingelesen.

Mein erster Gedanke war natürlich ein Memory Leak, aber wenn ich das Programm mit >>ps o vsz,args<< überwache, kann ich kein Leak entdecken. Ich benutze Perl 5.8.4 auf einem Debian Linux mit einem 2.6.8er Kernel.

Meine Frage ist nun nicht, was konkret an meinen Programmen schief läuft, sondern welche Möglichkeiten es gibt, solche lang laufenden Programme zu debuggen. Das normale Debugging (Einzelschrittabarbeitung) mit dem Perl-Debugger macht hier ja wohl wenig Sinn, da ein Fehler, wenn überhaupt, erst nach hundertausenden von Durchläufen (=Zeilen von STDIN) auftritt.

Gibt's es womöglich eine Debuggingfunktion, die mir sagt, in welcher Zeile sich ein Programm verabschiedet hat?

Danke und viele Grüße!
Stefan

View full thread Debugging von lang laufenden Perlprogrammen