rafl's Devel::bt is awesome.
http://frepan.64p.org/~flora/Devel-bt-0.01/lib/Devel/bt.pm
$ perl -d:bt -MB -e'(bless \(my $o = 0), q{B::SV})->REFCNT' #0 0x00007f9c3215ab0e in __libc_waitpid (pid=<value optimized out>, stat_loc=0x7fff4c5ffbe8, options=<value optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:32 #1 0x00007f9c319168c1 in backtrace () at bt.xs:129 #2 0x00007f9c319168ec in sighandler (sig=11) at bt.xs:135 #3 <signal handler called> #4 0x00007f9c316c8ccf in XS_B__SV_REFCNT (my_perl=0x151c010, cv=0x177bfb8) at B.c:3360 #5 0x000000000057d5a0 in Perl_pp_entersub (my_perl=0x151c010) at pp_hot.c:2882 #6 0x000000000051a331 in Perl_runops_debug (my_perl=0x151c010) at dump.c:2049 #7 0x0000000000454ab0 in S_run_body (my_perl=0x151c010, oldscope=1) at perl.c:2308 #8 0x0000000000453d78 in perl_run (my_perl=0x151c010) at perl.c:2233 #9 0x00000000004230fd in main (argc=6, argv=0x7fff4c600788, env=0x7fff4c6007c0) at perlmain.c:117
このように、簡単に、gdb とかつかったことない人でも segv 時の stacktrace がとれる。内部の実装的には、gdb を起動しちゃってるんで、そこが微妙かなあ。
catchsegv とかつかっとけやという話もあるけど。