每次我尝试调试我继承的代码时,我的史诗调试器似乎都可靠冻结。事实上,所有的日食都会冻结,直到我杀死Perl。我正在尝试确定在哪里寻找失败以及如何最小化或删除它,但事实上我是perl的新手并没有帮助。
我怀疑问题出在线程上,因为我们有两种类型的线程,perl不能很好地完成线程,而且线程也不漂亮。在这种情况下,我们想要运行许多脚本。我们通过启动n个perl线程来完成此操作。除了调用操作系统以使用sh运行脚本并等待它之外,这些线程中的每一个都做得很少。这些脚本需要一些时间,我认为它们正在运行,如果我愿意等待2-5个小时,调试的程序将正常完成,但这对我的调试没有帮助。
我认为在操作系统上等待的perl线程的组合会导致某种阻塞状态冻结整个Perl程序,因为perl的准线程有限?任何人都可以确认是否会发生这种情况,如果发生这种情况会冻结调试器,从而冻结所有的日食吗?一旦生成线程,有什么方法可以保持调试器功能,或者甚至只是防止它在发生时完全冻结我的日食?