所以我使用perl -d file.pl在perl调试器中运行一个文件。但是file.pl也应该接受参数。我如何提供file.pl的参数 还有一个问题:file.pl中有这一行:
system("./file2.pl");
如果以system
运行,有没有办法在file2.pl中设置断点?我在perl调试器上花了7天时间,我无法在file2.pl上设置断点请帮忙
答案 0 :(得分:3)
是的,你可以。
将以下代码添加到要在file2.pl
中打破的行:
$DB::single = 1;
要从该点自动控制调试,您需要操作@DB::typeahead
数组。来自perldoc:
您可以通过向@DB :: typeahead添加任意命令来模拟调试器的TTY输入。例如,您的.perldb文件可能包含:
sub afterinit { push @DB::typeahead, "b 4", "b 6"; }
此代码可以在BEGIN {}
块中,也可以在特殊的.perldb
配置文件中。
答案 1 :(得分:0)
你可以像往常一样传递它们:
perl -d ./file2.pl arg1 arg2 arg3 ...