如何调试Perl脚本?

24 debugging perl

当我运行Perl脚本时,我该如何调试它?例如,在ksh中我添加了-x标志.但我如何在Perl中做同样的事情?

DVK*_*DVK 12

perl -d your_script.pl args
Run Code Online (Sandbox Code Playgroud)

是你如何调试Perl

  • 第1步:添加`use strict; 使用警告;`到脚本的顶部.如果这没有帮助,请转到步骤2:使用perl -d. (8认同)
  • Alex的答案链接到`-d`的文档 (2认同)

Ale*_*lex 8

如果您使用交互式调试器,则可以尝试使用perldebug


Eug*_*kov 7

要在perl调试器下运行脚本,您应该使用-dswitch:

perl -d script.pl
Run Code Online (Sandbox Code Playgroud)

但perl很灵活.它提供了一些钩子,你可以强制调试器按你的意愿工作

因此,要使用不同的调试器,您可以:

perl -d:DebugHooks::Terminal script.pl
# OR
perl -d:Trepan script.pl
Run Code Online (Sandbox Code Playgroud)

在这里这里查看这些模块

有几个最有趣的perl模块挂钩到perl调试器内部:Devel :: NYTProf,Devel :: Cover

还有很多其他人

  • 我发现 Devel::NYTProf 在识别和加速我的 perl 代码中的慢点方面非常宝贵。 (2认同)

jmc*_*ara 5

我还建议使用Perl 调试器

但是,由于您询问了类似 shell 的内容,-x因此请查看执行类似操作的Devel::Trace模块。