[英]How can I debug a Perl CGI script?
我从要删除的旧服务器继承了旧的Perl脚本。 该脚本需要在新服务器上实现。 我已经在新服务器上安装了它。
该脚本非常简单。 它通过Expect&ssh连接到网络设备并收集数据。 出于调试目的,我仅处理从设备收集接口列表的部分。
新服务器上的脚本总是在重新加载页面后约5秒钟内向我显示一个页面。 很少包含远程设备的接口列表。 最常见的是,它包含除接口列表以外的所有HTML元素。
现在,在旧服务器上,有时脚本将花费20秒来输出数据。 很好
基于此,似乎新服务器上的apache在Perl脚本完成返回其数据之前正在显示数据,尽管这肯定是不正确的。
附加信息:很遗憾,我无法发布任何代码-工作政策。 但是,我敢肯定,期望不是问题。 期望部分写为Expect()或die('error msg'),但我看不到错误消息。 但是,如果我将期望超时设置为0,那么我会看到错误消息。
脚本中使用的期望超时值通常为20秒...但是如上所述,apache在大约5秒钟后显示了脚本中的静态内容,并且95%的时间不显示应从期望中检索的内容。 此外,该脚本将期望的内容写入驱动器上的文件-即使页面未显示该内容。
我刚刚将我的故障排除Perl CGI脚本指南添加到Stackoverflow。 :)
您可以尝试CGI :: Inspect 。 我不需要自己尝试一下,但是我在YAPC上看到了它的演示 ,它看起来很棒。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.