The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

=head1 NAME

perl-stacktrace - Stack trace

=head1 VERSION

version 0.09

=head1 SYNOPSIS

  perl-stacktrace [option] pid

    -m      Prints a gdb script
    -v      Verbose debugging
    -c      Additionally, prints C stacktrace
    --help  Show this help

    --exec  exec() into gdb

=head1 DESCRIPTION

perl-stacktrace prints Perl stack traces of Perl threads for a given
Perl process. For each Perl frame, the full file name and line number
are printed.

For example, a stack dump of a running perl program:

    $ ps x | grep cpan
    24077 pts/12   T      0:01 /usr/local/bin/perl /usr/local/bin/cpan
    24093 pts/12   S+     0:00 grep cpan

    $ perl-stacktrace 24077
    0x00d73416 in __kernel_vsyscall ()
    /usr/local/bin/cpan:11
    /usr/local/lib/perl5/5.12.2/App/Cpan.pm:364
    /usr/local/lib/perl5/5.12.2/App/Cpan.pm:295
    /usr/local/lib/perl5/5.12.2/CPAN.pm:339
    /usr/local/lib/perl5/5.12.2/Term/ReadLine.pm:198

=cut

use App::Stacktrace;
App::Stacktrace->new(@ARGV)->run;
exit;