1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
NAME
Devel::Trace - Print out each line before it is executed (like `sh -x')
SYNOPSIS
perl -d:Trace program
DESCRIPTION
If you run your program with `perl -d:Trace program', this module will
print a message to standard error just before each line is executed. For
example, if your program looks like this:
#!/usr/bin/perl
print "Statement 1 at line 4\n";
print "Statement 2 at line 5\n";
print "Call to sub x returns ", &x(), " at line 6.\n";
exit 0;
sub x {
print "In sub x at line 12.\n";
return 13;
}
Then the `Trace' output will look like this:
>> ./test:4: print "Statement 1 at line 4\n";
>> ./test:5: print "Statement 2 at line 5\n";
>> ./test:6: print "Call to sub x returns ", &x(), " at line 6.\n";
>> ./test:12: print "In sub x at line 12.\n";
>> ./test:13: return 13;
>> ./test:8: exit 0;
This is something like the shell's `-x' option.
DETAILS
Inside your program, you can enable and disable tracing by doing
$Devel::Trace::TRACE = 1; # Enable
$Devel::Trace::TRACE = 0; # Disable
or
Devel::Trace::trace('on'); # Enable
Devel::Trace::trace('off'); # Disable
`Devel::Trace' exports the `trace' function if you ask it to:
import Devel::Trace 'trace';
Then if you want you just say
trace 'on'; # Enable
trace 'off'; # Disable
TODO
* You should be able to send the trace output to the filehandle of your
choice.
* You should be able to specify the format of the output.
* You should be able to get the output into a string.
We'll see.
Author
Mark-Jason Dominus (`mjd-perl-trace+@plover.com'), Plover Systems co.
See the `Devel::Trace.pm' Page at http://www.plover.com/~mjd/perl/Trace
for news and upgrades.
|