如何逐步运行Perl程序?

时间:2012-01-19 08:51:23

标签: perl debugging

我有一个别人写的perl程序。当我运行它时,它默默地退出而不向日志文件写入任何内容。有没有办法我可以逐步运行这个Perl程序,由解释器逐行运行,从而看到它终止的位置?

3 个答案:

答案 0 :(得分:25)

是的,您可以使用perl -d调用Perl调试器。

可以在perldoc perldebugperldoc perldebtut中找到文档。

可能最有用的命令是:

s                 - step into current line.
n                 - step over current line.
r                 - step out of current function.
p <expr>          - print the expression.
b <line|subnm>    - sets a breakpoint
T                 - produce a stack trace.
c [<line|subnm>]  - continue running with optional one-time breakpoint.
h                 - help (for other commands).

答案 1 :(得分:2)

有一个名为“ptkdb”的perl模块,它是一个独立的perl交互式调试器。它使用TK gui工作,所以你也需要它。

根据您的操作系统,您需要add some required modules

使用

调用它
perl -d:ptkdb <your script>

如果运行一些unix / linux系统,你还需要一台X服务器。

答案 2 :(得分:1)

有两种方法。首先是已经使用命令行开关“-d”的Hachi和llioin给出的那个

或者使用IDE。我尝试并使用了像魅力一样的komodo

http://www.activestate.com/komodo-ide