關於伺服器端程式設計的程式除錯心得
阿新 • • 發佈:2019-01-29
對某些需要在編譯以後放到伺服器端或者叢集執行的程式,在沒有除錯工具的情況下,解決問題的方法主要是通過輸出語句(將info輸出到日誌中),分為以下步奏:
1、對問題的定位
將程式分為幾大邏輯,根據順序逐個大邏輯進行測試(不要放過任何一部分,不要認為某個部分一定不會出錯,往往出錯的就是這部分)。然後逐步縮小問題出現的範圍,對程式碼進行修改。
2、發現問題
a、出現問題後編譯器一般都會有提示,如果絲毫沒有提示,那麼也許是從某個邏輯出口跳出了。諸如try,catch語句,break,return語句等等。
b、段錯誤(segment error),一般原因為陣列越界,這就要求我們在程式設計的時候考慮周到,對map的getvalue以及String的subString時候先檢查是否hasKey,以及index == -1 的問題。
3、對問題的解決
對問題的解決與問題的定位相反,可採取由小到大的方式,先將出現問題的地方改過,然後逐步向後擴大,看看是否會影響到後續程式碼的執行。
4、 不太清楚的函式不要瞎用,以及以前沒用過的東西更要提高警惕。要注意try,catch語句的使用問題,try中的語句throw異常以後,進入對應的catch語句進行執行,直接跳過try中throw異常後面的語句,如果最後有finally,那麼會執行finally的內容然後順序執行。
謝謝kailian、zhangli、wangyue、bowen各位師傅的指導。多做總結,共同進步!