Jesse Vincent > Devel-CallTrace-1.2 > Devel::CallTrace

Download:
Devel-CallTrace-1.2.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 1.2   Source  

NAME ^

Devel::CallTrace - See what your code's doing

SYNOPSIS ^

#!/usr/bin/perl -d:CallTrace

package foo;

sub bar { print "bar\n"; baz(); }

sub baz { print "boo\n"; }

foo::bar();

RATIONALE ^

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.

DB::sub

perl will automatically call DB::sub on each subroutine call and leave it up to us to dispatch to where we want to go.

Devel::CallTrace::called

This routine is called with two parameters:

DEPTH

The integer "depth" that this call is being called at.

PARAMS

A reference to the routine's @INC

To get at the subroutine that was being called, have a look at $DB::sub

BUGS ^

It uses the debugger. How could it not have bugs?

SEE ALSO ^

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 ^

Copyright 2005 Jesse Vincent <jesse@bestpractical.com>

This module may be redistributed under the same terms as perl itself

syntax highlighting: