隨想錄(控制代碼洩漏)

2021-07-24 22:50:14 字數 668 閱讀 6299

昨天,自己之前編寫的乙個server**down掉了,檢查了一下日誌,原來是檔案開啟失敗。看到這個故障地時候,覺得很奇怪,明明檔案都在,為什麼就是打不開呢。檢查了一下日誌,並且review了一下**,發現原來是發生了控制代碼洩漏。

說到控制代碼洩漏,很多人不太在乎。在使用者側**上,控制代碼洩漏的問題確實沒有那麼嚴重。甚至於某些時候,還不如記憶體洩漏來的重要。但是如果這種事情發生在伺服器側,那麼就會發現各種各樣異常的情況。在linux或者unix上面,dev、file、socket都可以看成是控制代碼,如果你只開不關的話,很容易就達到程式使用控制代碼的臨界點的。一般來說,linux的臨界點是1024,unix的臨界點是256,當然你可以自己用ulimit工具修改一下。

為了說明控制代碼洩漏是怎麼發生的,會產生什麼後果,我們用一段簡單的**說明一下即可,相信大家一看就明白了。

#include int 

main(int argc, char* argv)

printf("%d successfully opened\n", i);

i ++;

} return 0;

}

很多開發環境上不容易出現的bug,在一定的壓力測試下很容易出現各種情況。建議大家平時開發的時候就要準備各種測試用例,不打無準備之仗,更不要隨意在周五發布軟體版本,不然到時候哭都來不及。:-(

軟體隨想錄

最近閱讀了由阮一峰翻譯的,有程式設計師部落酋長之稱的 joel 撰寫的 軟體隨想錄 精華摘抄如下 就如同所有行業最好的人才一樣,那些優秀的程式設計師是不會出現在招聘市場的。通常優秀的程式設計師在整個職業生涯中,可能會有4次求職。實習生制度創造了輸送優秀人才的管道,但是這個管道比較長,而且一路上損耗很...

專案隨想錄

發現自己不怎麼會起題目了。中午回去還沒走到寢室,就接到劉老師的 說要把程式調通,於是中午吃完飯立馬跑回去,把顯示問題解決了。其實那個無效數字問題是因為在hql語句中使用了cast pw as integer 將字串轉成integer型,可是資料庫中的內容程式設計了字母加數字,自然會轉換失敗了,唉,真...

雜文 隨想錄

這裡是一些隨想。關於名為二氫婦女的使用者本人,希望 ta 能有乙個美好的未來。科學雖然給我們許多驚奇,但也攪壞了我們許多好夢。當登上了月球的那一刻,一切有關月的夢都被現實的蒼涼所破碎了。從那一步邁出起,廣寒宮破碎,輝夜姬亦未曾回到月上,阿爾忒彌斯丟失了金弓與駕月之車,一切有關月的神話於此失去光輝,人...