App::Stacktrace - Stack trace
version 0.09
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
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
There exists an internal API
This accepts the following parameters by applying them through Getopt::Long.
This is actually just a front for the script
perl-stacktrace's command
line handling.
App::Stacktrace->new(
$pid, # The process to attach to
'm', # Dump the generated script
'v', # Verbose
'exec', # exec() into gdb
'--noexec', # system() into gdb
);
Runs the app program as configured by the "->new(...)" method.
$obj = App::Stacktrace->new( ... );
$obj->run;