我最近遇到了一個挑戰我的編程能力的問題,這是一個非常偶然的無限循環。我重寫了一些代碼來乾涸它,並改變了一個被它所稱的確切方法反覆調用的函數;當然是一個基本問題。 Apache決定通過崩潰來解決問題,並且日誌除了「衍生出的子進程」之外什麼都沒有注意到。問題是我當天從未真正完成調試問題,下午出現問題,今天不得不解決問題。如何調試並防止PHP中的無限循環?
最後,我的解決方案很簡單:手動記錄邏輯並查看發生了什麼。當我有一個由兩條獨特的行組成的日誌文件時,這個問題立刻就顯而易見,隨後是兩行,每行重複兩百次。
什麼是保護自己免受無限循環的一些方法?而且,如果它失敗了(它會),追蹤它的最快方法是什麼?它確實是最有效的日誌文件,還是別的?
如果您的答案是最佳做法,您的答案可能是語言不可知的,但我寧願堅持使用PHP特定的技術和代碼。
這個問題並沒有像一般的「我們如何編寫無錯軟件」這個問題一樣讓我感到困惑...... – gahooa 2009-07-16 19:43:49
@gahooa,就是你;我對無錯軟件不感興趣,因爲它永遠不會到達那裏。我只想提出解決這個問題的提示,這讓我在前些日子看不到。 – 2009-07-17 12:12:38