我如何找出Perl脚本崩溃的原因?

我如何找出Perl脚本崩溃的原因?,perl,debugging,Perl,Debugging,我已经编写了一个向客户端发送数据的Perl脚本。它工作一段时间(从1分钟到2小时),然后下降。控制台中没有错误,日志中没有错误 我向它添加了一个END部分-它没有被执行 我能做些什么来找出问题所在?日志中没有错误,但您能在日志中添加更多内容以查看失败的具体位置吗?也就是说,日志行如下所示: 00:00:00 In section 1 00:00:05 In section 2 ... 00:09:28 In section 34 然后您可以看到最后执行的部分 如果真的有问题,您还可以尝试在Pe

我已经编写了一个向客户端发送数据的Perl脚本。它工作一段时间(从1分钟到2小时),然后下降。控制台中没有错误,日志中没有错误

我向它添加了一个
END
部分-它没有被执行


我能做些什么来找出问题所在?

日志中没有错误,但您能在日志中添加更多内容以查看失败的具体位置吗?也就是说,日志行如下所示:

00:00:00 In section 1
00:00:05 In section 2
...
00:09:28 In section 34
然后您可以看到最后执行的部分

如果真的有问题,您还可以尝试在Perl调试器中单步执行,看看是否可以重现它。你也可以尝试简化你的脚本,删除不同的部分,等等,看看你是否真的能找出问题所在


希望这会有所帮助。

由于脚本正在向客户端写入数据,我猜它的过早死亡是由于未处理的SIGPIPE。如果是这种情况,那么为SIGPIPE安装信号处理程序是一种简单的验证方法。查看Perl中信号处理程序的详细信息和示例。

+1了解打印语句。它们是调试任何代码的最佳工具。我正在向客户机写信,有时在我向他发送所有数据之前,客户机会关闭连接。所以当他在线时,我的脚本开始失败。谢谢你的建议。