0

我对 perl 和史诗都是新手,所以请原谅我提出明显的问题。我确实在网上玩了一些,但没有找到任何东西。

我在调试器中运行 perl 程序,但失败了。当它失败时,我会收到一条相当无益的消息。我不能复制和过去,我不能手写,因为它有很多无法识别的字符。它看起来像:

Debugged program terminated.  use [imq[0m to quit or [1mr[om to restart, 
use [1mo[0m [4minhibit_exit[24m to avoid stopping after program termination

在 Eclipse 控制台窗口中,任何有括号的地方都显示为未定义的字符。

我没有得到任何有用的堆栈跟踪。我可以看到 setup_ram_directories 方法被调用,因为它是错误之前调试器的最后一行。然而,实际的错误发生在堆栈的更深处。我没有得到堆栈跟踪,也无法在出现错误时让 eclipse 暂停,这样我就可以检查导致失败的内存状态。

一些额外的玩弄似乎表明,每当调用在不同模块中定义的方法时,EPIC 就会感到困惑,而 setup_ram_directories 是在帮助模块中定义的。如果我更深入地了解上述方法,直到我进入模块中包含的引发异常然后点击运行的方法,我会得到正确的堆栈跟踪。但是,对于堆栈深处的错误,需要多次运行程序才能确定哪些方法和模块失败,然后才能获得正确的堆栈跟踪。

是否需要进行一些配置才能让 PERL 为我提供正确的堆栈跟踪?或者更好的是,当程序将要失败时,我希望调试器暂停,以便我可以检查变量。

我已经从 perl 表达式视图中尝试了 o inhibitor_exit,它似乎没有做任何事情。

4

1 回答 1

0

尝试以下适用于 EPIC 的插件:

http://andrei.gmxhome.de/anyedit/

于 2015-11-23T18:42:38.393 回答