logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Bugs

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

Name

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

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

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.

Synopsis

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

       package foo;

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

       sub baz {
           print "boo\n"; }

       foo::bar();

See Also