Exception-Backtrace

 view release on metacpan or  search on metacpan

misc/devel-trace.pl  view on Meta::CPAN

use strict;
use warnings;
use Scalar::Util qw/weaken/;

use Devel::StackTrace;

my $trace;
my $obj = bless {} => 'Some::package';
my $obj2 = bless {} => 'Some::package2';

sub fn0 {
    $trace = Devel::StackTrace->new(skip_frames => 1, message => "")
}

sub fn1 {
    my @args = @_;
    shift @args;
    fn0(@args);
}

sub fn2 {
    weaken($obj2);
    fn1(@_);
}

my $ref = 'referenced';
fn2(5, 'ztring',  $obj, \$ref, \&fn0, [], {}, $obj2);

print "trace1 = ", $trace // 'n/a', "\n";

sub do_log { $trace = Devel::StackTrace->new(skip_frames => 1, message => "") }
sub call_with_args {

misc/exception-bactrace.pl  view on Meta::CPAN

use strict;
use warnings;
use Scalar::Util qw/weaken/;
use Exception::Backtrace;

my $trace;
my $obj = bless {} => 'Some::package';
my $obj2 = bless {} => 'Some::package2';

sub fn0 {
    $trace = Exception::Backtrace::create_backtrace()->to_string;
}

sub fn1 {
    my @args = @_;
    shift @args;
    fn0(@args);
}

sub fn2 {
    weaken($obj2);
    fn1(@_);
}

my $ref = 'referenced';
fn2(5, 'ztring',  $obj, \$ref, \&fn0, [], {}, $obj2);

print "trace1 = ", $trace // 'n/a', "\n";

sub do_log { $trace = Exception::Backtrace::create_backtrace()->to_string; }
sub call_with_args {



( run in 0.512 second using v1.01-cache-2.11-cpan-65fba6d93b7 )