我正在为调试器编写测试。
0xFF
如何将调试器应用于
$(OUTDIR)/%: % | $(OUTDIR)
base64 -w0 $< | sed -E 's#(////)*//8=$$##' | base64 -d > $@
阻止?
我尝试使用subtest "main" => sub {
$ENV{PERL5DB} = 'Devel::AllSubs';
my $stderr = capture_stderr {
sub foo { bar(); }
sub bar { 1; }
foo();
};
$ENV{PERL5DB} = '';
is $stderr, "main::foo\nmain::bar";
};
,但没有效果。
答案 0 :(得分:4)
您无法按照自己的方式使用$ENV{PERL5DB}
。
use Devel::AllSubs
-d
开关启动Perl时才进行检查因此,为了将调试器仅应用于部分代码,您将需要先使用-d开关将其加载,如下所示:
perl -d:AllSubs script.pl
,然后使用包变量来确定是否要处理代码。查看模块名称,我假设您正在尝试对每个子例程进行操作,因此您的测试可能希望包含在您的DB::sub
方法中