Devel::CallTrace(3pm) | User Contributed Perl Documentation | Devel::CallTrace(3pm) |
Devel::CallTrace - See what your code's doing
#!/usr/bin/perl -d:CallTrace
package foo;
sub bar {
print "bar\n";
baz(); }
sub baz {
print "boo\n"; }
foo::bar();
There are a number of perl modules in the CPAN that are designed to trace a program's execution as it runs. Each uses a different trick to do its job, but none of them quite met my needs. The technique this module uses is quite simple and seems to be quite robust.
perl will automatically call DB::sub on each subroutine call and leave it up to us to dispatch to where we want to go.
This routine is called with two parameters:
To get at the subroutine that was being called, have a look at $DB::sub
It uses the debugger. How could it not have bugs?
perldebguts, DB, a licensed therapist.
trace - Uses source filters. Scares me.
Devel::TraceCalls - Very robust API. The code seems to do all sorts of scary magic
Debug::Trace - Uses symbol table magic to wrap your functions.
Devel::TRaceFuncs - Requires developers to instrument their source files.
Copyright 2005 Jesse Vincent <jesse@bestpractical.com>
This module may be redistributed under the same terms as perl itself
2022-12-04 | perl v5.36.0 |