【发布时间】:2009-07-16 19:08:34
【问题描述】:
我最近遇到了一个挑战我的编程能力的问题,这是一个非常偶然的无限循环。我重写了一些代码来干掉它,并更改了一个被它调用的确切方法重复调用的函数;一个基本的问题,当然。 Apache 决定通过崩溃来解决问题,日志只记录了“生成的子进程”。问题是我那天没有真正调试完这个问题,下午突然出现,今天必须解决。
最后,我的解决方案很简单:手动记录逻辑,看看发生了什么。当我有一个由两行独特的日志文件组成的日志文件时,问题立即显现出来,然后是两行,每行重复大约 200 次。
有哪些方法可以保护自己免受无限循环的影响?而且,当它失败时(它会失败),追踪它的最快方法是什么?确实是日志文件最有效,还是别的什么?
如果这是最佳实践,您的答案可能与语言无关,但我宁愿坚持使用 PHP 特定的技术和代码。
【问题讨论】:
-
这个问题对我的印象与一般的“我们如何编写无错误软件”问题没有什么不同......
-
@gahooa,这就是你;我对没有错误的软件不感兴趣,因为它永远不会到达那里。我只是想要解决这个问题的提示,前几天让我措手不及。
标签: php apache debugging infinite-loop