因此,我使用 perl -d file.pl 在 perl 调试器中运行一个文件。但 file.pl 也应该接受参数。如何向 file.pl 提供参数
还有一个问题:file.pl 中有这一行:
system("./file2.pl");
如果 file2.pl 运行的话,有没有办法在 file2.pl 中设置断点system
?我在 perl 调试器上花了 7 天,但无法在 file2.pl 设置断点请帮忙
编辑:得到 DVK 的精彩回复以添加 DB::single=1。我在一些文件上测试了它并且它有效。但我有超过 100 个文件,如果我手动执行此操作,将花费我很多时间。我使用 .perldb 并使用 afterinit 提前输入所有命令。我已经制定了一种算法,可以找到断点需要到达的每个文件的行号。我只是不能随机(自动使用可执行文件)打开所有这些文件并将 DB::single=1 添加到我喜欢的位置。整个系统可能会崩溃。我想设置断点,这样更安全
是的你可以。
将以下代码添加到要中断的行中file2.pl
:
$DB::single = 1;
要从那时开始自动控制调试,您需要进行操作@DB::typeahead
大批。从perldoc http://perldoc.perl.org/perldebug.html:
您可以通过向 @DB::typeahead 添加任意命令来模拟调试器的 TTY 输入。例如,您的 .perldb 文件可能包含:
sub afterinit { push @DB::typeahead, "b 4", "b 6"; }
该代码可以位于BEGIN {}
块,或者特殊的.perldb
配置文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)