可能重复的问题:
如何在Perl中强制获取所有致命错误的堆栈回溯?
我喜欢 Python 的一件事情是,当脚本因为出现错误而退出时,它会输出一个 traceback。我想知道是否有任何方法让 Perl 也能够做到这一点。
可能重复的问题:
如何在Perl中强制获取所有致命错误的堆栈回溯?
我喜欢 Python 的一件事情是,当脚本因为出现错误而退出时,它会输出一个 traceback。我想知道是否有任何方法让 Perl 也能够做到这一点。
将以下代码添加到您的脚本顶部:
use Carp 'verbose';
$SIG{ __DIE__ } = sub { Carp::confess( @_ ) };
它会在所有致命错误时创建一个堆栈跟踪。
$SIG{__DIE__} = \&Carp::confess;
这行代码,也可以这样写。请注意在翻译过程中尽可能保留原文的语义和结构,使翻译更加通顺易懂。 - Leon Timmermans调查 Carp::Always 模块。
Carp::Always
比操作sigdie
要好得多,因为你可以从命令行启用它。通过 perl -MCarp::Always my_script
命令非常方便。 - daotoad#!/c/Perl/bin/perl -MCarp::Always -w
。然后它显示了 Too late for "-MCarp::Always" option at ... line 1.
。 - Evgeni Sergeev