perl调试器不会在第一个语句停止

时间:2011-03-05 20:09:12

标签: perl debugging

我正在尝试找到一种在调试器下启动perl进程的方法,但是只是开始自动运行而不停在第一个语句并让我输入'c'来启动它。这个模块由一个更大的系统运行,我需要能够定期(根据外部条件)通过中断信号中断程序,检查一些数据结构并让它继续。

显然,我可以让监督程序使用“perl -d myProcess”启动我的进程,但是如何让它在没有初始中断的情况下运行。有谁知道怎么做到这一点?

非常感谢。

2 个答案:

答案 0 :(得分:7)

感谢。这是一个很大的暗示。我看到了几个选项,包括“NonStop”。

看起来使用行PERLDB_OPTS="NonStop" perl -d myprog.pl &可以解决问题。然后我只需kill -INT <pid>fg就可以在调试器中获取它。在我'继续执行'bg后,它将继续执行。

答案 1 :(得分:2)

您还可以将此配置选项添加到.perldb文件中。配置文件的格式有点不寻常,并没有很好的记录,所以这里是

DB::parse_options("NonStop=1");

其他有用的选择:

DB::parse_options("dumpDepth=3");
DB::parse_options("PrintRet=0");
$DB::deep = 1000;