加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

将参数传递给调试器中的perl文件,并在系统执行的文件中设置断点

发布时间:2020-12-15 21:44:12 所属栏目:大数据 来源:网络整理
导读:所以我使用perl -d file.pl在perl调试器中运行一个文件.但是file.pl也应该接受参数.我如何提供file.pl的参数 还有一个问题:file.pl中有这一行: system("./file2.pl"); 如果它作为系统运行,有没有办法在file2.pl中设置断点?我在perl调试器上花了7天时间,我
所以我使用perl -d file.pl在perl调试器中运行一个文件.但是file.pl也应该接受参数.我如何提供file.pl的参数
还有一个问题:file.pl中有这一行:
system("./file2.pl");

如果它作为系统运行,有没有办法在file2.pl中设置断点?我在perl调试器上花了7天时间,我无法在file2.pl上设置断点请帮忙

编辑:从DVK得到一个很棒的响应添加DB :: single = 1.我在一些文件上测试了它并且它有效.但我有超过100个文件,如果我手动执行此操作,将花费我很多时间.我使用.perldb并使用afterinit来输出所有命令.我已经实现了一个算法,该算法可以找到断点需要去的每个文件的行号.我不能随意(自动使用可执行文件)打开所有这些文件并将DB :: single = 1添加到我喜欢的位置.整个系统可能会崩溃.我想设置断点,因为它更安全

解决方法

是的你可以.

将以下代码添加到file2.pl中要中断的行:

$DB::single = 1;

要从该点自动控制调试,您需要操作@DB :: typeahead数组.从perldoc开始:

You can mock TTY input to debugger by adding arbitrary commands to @DB::typeahead. For example,your .perldb file might contain:

06001

此代码可以在BEGIN {}块中,也可以在特殊的.perldb配置文件中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读