Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Forcing stack trace?

by andreas1234567 (Vicar)
on Sep 21, 2007 at 10:25 UTC ( #640324=note: print w/ replies, xml ) Need Help??


in reply to Forcing stack trace?

I frequently use something like this:

use strict; use warnings; use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($WARN); my $log = Log::Log4perl->get_logger('stack'); sub show_call_stack { my ( $path, $line, $subr ); my $max_depth = 30; my $i = 1; if ($log->is_warn()) { $log->warn("--- Begin stack trace ---"); while ( (my @call_details = (caller($i++))) && ($i<$max_depth) ) { $log->warn("$call_details[1] line $call_details[2] in function $ +call_details[3]"); } $log->warn("--- End stack trace ---"); } } sub tze { show_call_stack(); } sub bar { return tze();} sub foo { return bar(); } foo(); __END__ $ perl -w 640319.pl 2007/09/21 12:23:10 --- Begin stack trace --- 2007/09/21 12:23:10 640319.pl line 22 in function main::tze 2007/09/21 12:23:10 640319.pl line 23 in function main::bar 2007/09/21 12:23:10 640319.pl line 25 in function main::foo 2007/09/21 12:23:10 --- End stack trace ---
--
Andreas


Comment on Re: Forcing stack trace?
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://640324]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (9)
As of 2015-07-06 11:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (73 votes), past polls