我正在一个大型的Perl应用程序中工作,并希望在每次“死”时调用堆栈跟踪。我知道
Carp module,但我宁愿不用’confess’搜索/替换每个“die”的实例。另外,我想在Perl模块或Perl解释器本身中填充堆栈跟踪错误,显然我不能更改那些使用鲤鱼。
那么,我有一种方法可以在运行时修改’die’函数,这样它就像“confess”一样吗?或者,是否有Perl解释器设置将从“死”中抛出完整的堆栈跟踪?
解决方法
使用
Devel::SimpleTrace或
Carp::Always,他们会做你所要求的,没有你的努力工作。它们具有全局效应,这意味着它们可以轻松地添加到命令行中的一个运行中,例如使用-MDevel :: SimpleTrace。