yoyo007
論壇貴賓
菸草撐住的日子
積分 38778
發文 6170
註冊 2005-9-10 來自 滅絕希望的世界
狀態 離線
|
#1 使用二分法來除錯
From : http://www.centurys.net/viewthread.php?tid=53699 # 4
From : http://www.centurys.net/viewthread.php?tid=34791 # 81
所謂的 [二分法除錯] 即 [翻譯的對照文件] 刪去一半不翻,確定是哪一半出問題,再從那一半刪去一半進行測試,直到找出錯誤為止。
例如以上的第二個連結 [# 81] 中的例子,假設今天手邊有個軟體使用 CXA 下去翻譯,結果寫入檔案後測試,發現軟體無法執行,那麼:
1. 請復原來源檔。
2. 回到 [步驟 4] 備份翻譯檔案。
3 .按 [編輯翻譯檔案]。
4. 先從行首開始,刪去一半。
程式正確執行 (1)
5. 重新寫入檔案,這時有兩個結果 <
程式仍然法執行 (2)
(1). 程式正確執行:
當程式正確執行時,表示導致程式錯誤的字串在另一半的檔案中,那麼,請回到上面的第二點,將備份的翻譯檔案還原並覆寫刪去一半字串的翻譯檔案,接著從行首開始,刪去剛剛測試程式是否能正常執行的字串,接著再刪去一半,如此反覆測試,便能找出導致程式執行錯誤的那個字串。
(2). 程式無法正確執行:
當程式無法正確執行時,表示導致程式錯誤的字串就在這個翻譯檔案中,那麼,請還原程式,再回到 [步驟 4] 按 [編輯翻譯檔案],接著從行首開始刪去一半,繼續寫入檔案測試,結果就如上面提到的第五點,再依照結果進行後續的操作,逐漸縮小範圍,最後就能找出那個導致程式執行錯誤的字串。
字面上的說明也許顯得有點複雜,實際操作卻是非常簡單;其實我備份完翻譯檔案後,會將刪去的另一半字串複製到另個記事本中,再視結果決定是否貼回翻譯檔案繼續測試,直到找出引起程式錯誤的字串後,再恢復原先備份的翻譯檔案,去掉那個不能翻譯的字串,這樣就完成了。
總結:
將 [翻譯檔案] 刪去一半字串不譯,看看到底是哪一半字串會導致出錯,然後再從出錯的那一半字串刪去一半,依此類推來找出會導致程式出錯的字串。
[ Last edited by yoyo007 on 2007-3-17 at 02:26 PM ]
|
|