<分区>
在一个Perl项目中,通常如何修复脚本中的bug? 请任何人都可以提供一些想法。 提前致谢。
标签 perl
<分区>
在一个Perl项目中,通常如何修复脚本中的bug? 请任何人都可以提供一些想法。 提前致谢。
最佳答案
我第一个想到的是perldoc perldebug
我认为这是更好的起点。
我的第二个是:总是放
use strict;
use warnings;
在你的脚本的顶部,你可以放
use diagnostics;
同样,为了产生更详细的警告诊断
在打开潘多拉魔盒之前,利用 Perl 模块 Data::Dumper
。
显示所有(嵌套的)数据结构和对象很有用,参见(我使用 perlconsole
,尝试一些技巧很不错):
$ perlconsole
Perl Console 0.4
Perl> my $ref = { foo => 'bar', arr => [ 1, 2, 3, [ qw/a z e r t y/ ] ] }
HASH(0x1fc25a8)
Perl> use Data::Dumper;
Perl> print Dumper $ref;
$VAR1 = {
'foo' => 'bar',
'arr' => [
1,
2,
3,
[
'a',
'z',
'e',
'r',
't',
'y'
]
]
};
1
Perl>
您将看到 Perl 可以在调试器中运行脚本
perl -d -e 42 script.pl
帮助说:
$ perl --help | grep -- '-d'
-d[:debugger] run program under debugger
您也可以“追踪”它:
perl -d:Trace script.pl
有一个 gui调试器,它带有 Devel::ptkdb
模块,示例:
perl -d:ptkdb script.pl
尝试
perlcritic
也是一个命令行界面,用于批评 Perl 源代码。
分析您的代码也是可能的,请参阅
http://metacpan.org/pod/Devel::NYTProf
http://blog.timbunce.org/2008/07/15/nytprof-v2-a-major-advance-in-perl-profilers/
关于perl - 如何调试 Perl 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474255/