[Israel.pm] Backtrace
Gaal Yahas
gaal at forum2.org
Sun Jun 6 06:18:47 PDT 2010
Note also this from perlfunc for "caller":
Furthermore, when called from within the DB package,
caller returns more detailed
information: it sets the list variable @DB::args to be
the arguments with which
the subroutine was invoked.
Be aware that the optimizer might have optimized call
frames away before "caller"
had a chance to get the information. That means that
caller(N) might not return
information about the call frame you expect it do, for
"N > 1". In particular,
@DB::args might have information from the previous time
"caller" was called.
Carp uses this behind the scenes (in Carp::Heavy).
On Sun, Jun 6, 2010 at 4:06 PM, Yuval Kogman <nothingmuch at woobling.org> wrote:
> On 6 June 2010 15:53, Peter Gordon <peter at pg-consultants.com> wrote:
>>
>> I have a trivial program shown below. In order to better debug an
>> application I would like to be able to obtain a stack trace.
>
>
> To get a formatted one, a la Carp::confess, as a string:
> my $stacktrace = Carp::longmess();
> To make Carp::croak behave like Carp::confess:
> perl -MCarp=verbose ...
> To make every $SIG{__DIE__} become a Carp::confess:
> perl -MCarp::Always ...
> Finally, to get an more useful stacktrace (that you can both format and
> inspect programatically), look at Devel::StackTrace.
> _______________________________________________
> Perl mailing list
> Perl at perl.org.il
> http://mail.perl.org.il/mailman/listinfo/perl
>
--
Gaal Yahas <gaal at forum2.org>
http://gaal.livejournal.com/
More information about the Perl
mailing list