我曾经在我工作的一家商店每隔几天就收到一次错误,其中一位用户称之为"Beak",因为她认为这让她想起了一个:
<.
......在源头看起来像:
<.
通过在ColdFusion服务器上弹跳JRun可以很容易地逆转"Beak",当我直接控制我的服务器时,这对我来说已经足够了,并且弹跳它不花时间并且没有太严重的影响.
现在我在一个我没有管理员访问网络服务器的商店,而且(从商业角度来看),服务器在任何特定时刻都在交易大美元符号,并且不能被反弹.
谷歌无法搜索除随机收集的B和P之外的任何东西,我的不懈好奇心永远受到挫败.
但是现在......现在我已经......所以我知道了.
我不能说它是CF,事实上,我怀疑它实际上是Java ......或者是IIS ......或者是宇宙用刺耳的喙棒戳我...
什么是Beak,我怎么让它消失?
编辑困惑...
我不能说我可以让问题更清楚,但我可以说缺乏清晰度主要是错误的一个功能,而不是我缺乏包容性.
错误不是来自一段代码......没有特定的行号...查看日志文件从未显示在问题发生之前运行的模板或模板.
一旦触发,错误会影响从服务器请求的每个模板,该效果是返回此字符串,而不是其他任何内容,以响应HTTP请求: <.
重新启动JRun服务会导致问题消失......重置Web服务器(在所有情况下都是IIS)或数据库服务器(MSSQL,MySQL和Access)或服务器本身(窗口,各种版本,各种硬件)是不必要的.
老实说,我没想到任何一个没有看到过这种错误的人甚至没有回应.我很欣赏那些有意义的人尝试过,但这不是Web Developer Oversight错误(在传统意义上),并且可能不需要代码片段来识别或解决它.
我希望这至少可以澄清我缺乏信息的程度,以阐明我为什么要求提供更多信息.
查看生成此输出的页面的源代码会有所帮助.你所描述的不是任何程序语言的"错误",而是某个函数的结果,或者可能是某些资源在偶尔不可用时的期望.您可以采取的措施包括收集尽可能多的有关导致问题发生的信息.以下是调试未知问题时要遵循的一些通用准则.
问题是否与相同的信息间歇性?如果是这样,那么可能不是某些明确的代码行是错误的,而是对某些外部资源(如数据库)的假设,开发人员认为这些资源总是可用的(您的代码必须考虑用户将体验到的内容)数据库不可用).
可以在不同的环境(如工作站)上重现问题吗?平台之间的微妙变化(Debian与Red Hat,甚至Java 1.6.10与Java 1.6.9)之间的微妙变化可能会引发意想不到的问题.
可以用不同的信息重现问题吗?也许问题出现是因为开发人员认为某些无效值永远不会超过某些早期的过滤器,因此从不困扰在生成错误的函数中捕获无效值,这是常见的是编写得很糟糕的Web应用程序,因为人们倾向于认为HTML表单只允许输入一组特定的值
希望这可以帮助.