Danke nochmal.
Ich habe mir jetzt auch mal Devel::ebug angesehen und stelle fest, dass immer die erste Zeile übersprungen wird, ausserdem werden die einzelnen Zeilen nicht ausgeführt, und ich habe noch nicht herausbekommen, wie ich es anstelle nicht eine Datei zu durchlaufen, sondern einen String.
Wenn ich die Funktion finde in der die Datei eingelesen wird kann ich mir eine entsprechende für einen String ja nachbauen, aber wo sitzt diese Funktion?
Jetzt mal ein Beispiel.
Das Hauptprogramm:
#!/usr/bin/perl
use strict;
use warnings 'all';
use Devel::ebug;
my $ebug = Devel::ebug->new;
$ebug->program("devel-ebug-test.pl");
$ebug->load;
until ($ebug->finished)
{
print "At line ". $ebug->line ."\n";
print "Code: ". $ebug->codeline ."\n";
$ebug->step;
}
Ausgabe:
At line 1
Code: use Devel::ebug::Backend;BEGIN { do 'C:/Perl/site/lib/sitecustomize.pl' };
At line 3
Code:
At line 5
Code:
devel-ebug-test.pl:
print "Das Programm\n";
<STDIN>;
print "\nDas Programm ist zu Ende\n";
Übrigens muss ich vor Zeile 5 Return drücken.
Komisch nur das er print() nicht ausführt und die leeren Zeilen, sowie die Zeile mit <STDIN> nicht ausgibt.
Ich habs auch schon mit next() versucht, aber das ist eigentlich nicht was ich will, und da bekomme ich das selbe Ergebniss.
Das mit dem fork() hab ich gerade ausprobiert, das klappt nicht, hat wohl mit Tk zu tun.
MfG PerlProfi\n\n
<!--EDIT|PerlProfi|1164909880-->