我怎么能弄清楚为什么我的Perl脚本崩溃了?

时间:2009-11-05 05:06:35

标签: perl debugging

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

我在其中添加了END部分 - 它未执行。

我该怎么做才能找出问题所在?

2 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:2)

日志中没有错误,但是您可以进行更多登录以查看其确切失败的位置吗?也就是说,日志行如:

00:00:00 In section 1
00:00:05 In section 2
...
00:09:28 In section 34

然后你可以看到上次执行的部分。

如果它真的让你烦恼,你也可以尝试单步执行Perl调试器并查看是否可以重现它。您还可以尝试简化脚本,删除各个部分等,以确定是否能够确定问题。

希望有所帮助。