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