perl调试改进

时间:2013-03-05 03:01:00

标签: perl debugging

我经常需要在我的Perl程序中进行调试,其中一些非常大,并且不是由perl xxx.pl.启动的

我使用Python的pdb模块,可以使用

在程序中设置断点
pdb.set_trace()

当执行到该点时,程序将发出一个python交互式shell。然后我可以调试。我想知道Perl中是否有这样的调试模块或方法?我还想知道perl及其模块中的其他调试支持。

3 个答案:

答案 0 :(得分:2)

等效于$DB::single = 1

答案 1 :(得分:1)

这是一个调试Perl脚本的好教程:

http://www.ehow.com/how_2095026_debug-perl-programs.html

perl -d yourscript.pl

  

在您的代码部分中使用“b”命令设置断点   认为是破碎的。断点告诉调试器何时停止调试   它到达那条线或功能。它们可以设置在线上或   功能,可以附加条件。例如,设置一个   第531行的断点,条件为“$ a> 10”,您可以使用   以下命令:“b 531 $ a> 10”

     

使用“r”命令运行程序。这将运行该程序   直到达到断点。

答案 2 :(得分:1)

我找到了模块:Enbugger - 在运行时启用调试器。

这就是我想要的。

CLASS->stop

可以停止程序的运行并发出调试shell。

它还可以加载多种类型的调试器,默认情况下为perl5db。 您可以指定其他调试器,例如这个功能强大的调试器:Devel::Trepan