最近編程遇到的bug總結

犯過的錯誤就要避免下次再犯罐盔,因此,決定采取《代碼大全》里面的方法却特,對最近編程中遇到的bug以及原因進行梳理扶供,并整理出常犯錯誤檢查清單,作為以后編程的核心步驟之一裂明。


一椿浓、bug詳情

1.關于日志打印的bug

%s與int類型不匹配,%格式與參數(shù)個數(shù)不匹配

2.訪問null指針

在異常分支情況下闽晦,訪問了null指針

3.關于指針的加法

目的是(char *)ptr + num扳碍,結果寫成了ptr + num,導致對內存越界寫值

4.分支覆蓋檢查

如果goto和return混用仙蛉,容易造成return之前申請的內存泄漏

如果所有分支檢查不全左腔,會導致有的流程有問題,比如釋放鎖兩次


二捅儒、為什么會引入這些bug

1.最根本的原因還是缺乏必要的常犯錯誤清單

這上面的所有錯誤我之前自己都處理過,但是不對代碼進行必要的錯誤清單核查振亮,很容易遺漏巧还。

2.忽視了編譯器告警

編譯器告警能提供豐富的錯誤信息,比如所類型不匹配

3.忽視了core文件的分析

這個需要熟練使用gdb


三坊秸、怎樣將錯誤數(shù)減到最少麸祷,甚至不犯錯

1.對自己寫的每一句代碼都要理解清楚,理解其目的和上下文之間的作用和關系

首先語法要正確褒搔,其次在各種情況下要正確(正常阶牍、異常分支)

2.根據(jù)自己常犯的錯誤,制定自己的錯誤核查清單星瘾,每一次對代碼的修改走孽,都要對所有相關模塊按照清單核查一遍。

3.借助編譯器的warning信息

4.讓別人幫忙走查自己的源代碼

5.對于很難定位的bug(一般都是指針琳状、內存引起的)磕瓷,要熟練使用gdb調試。

6.學習使用各種內存、反匯編技術來加深對代碼的理解和問題的排查


四困食、根據(jù)之前翻過的錯誤边翁,確定自己初步的錯誤核查清單

1.所有變量是否都正確初始化

2.指針在使用前檢查是否為null

3.指針的加法是否正確

4.確保數(shù)組不越界訪問

5.確保循環(huán)不變式成立

6.對同一個臨時變量的多次使用確保每次都正確初始化

7.函數(shù)傳參,如果是指針硕盹,需要注意值的改變

8.所有指針都要正確賦值符匾,null或者正確的值

9.注意對所有分支進行檢查,同時注意goto和return不混用

10.動態(tài)內存泄漏檢查

11.加鎖瘩例、解鎖的檢查啊胶,尤其是所有分支都正確

?另外確保無嵌套、無死鎖

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末仰剿,一起剝皮案震驚了整個濱河市创淡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌南吮,老刑警劉巖琳彩,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異部凑,居然都是意外死亡露乏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門涂邀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘟仿,“玉大人,你說我怎么就攤上這事比勉±徒希” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵浩聋,是天一觀的道長观蜗。 經(jīng)常有香客問我,道長衣洁,這世上最難降的妖魔是什么墓捻? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮坊夫,結果婚禮上砖第,老公的妹妹穿的比我還像新娘。我一直安慰自己环凿,他們只是感情好梧兼,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拷邢,像睡著了一般袱院。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天忽洛,我揣著相機與錄音腻惠,去河邊找鬼。 笑死欲虚,一個胖子當著我的面吹牛集灌,可吹牛的內容都是我干的。 我是一名探鬼主播复哆,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼欣喧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梯找?” 一聲冷哼從身側響起唆阿,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锈锤,沒想到半個月后驯鳖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡久免,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年浅辙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阎姥。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡记舆,死狀恐怖,靈堂內的尸體忽然破棺而出呼巴,到底是詐尸還是另有隱情泽腮,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布衣赶,位于F島的核電站盛正,受9級特大地震影響,放射性物質發(fā)生泄漏屑埋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一痰滋、第九天 我趴在偏房一處隱蔽的房頂上張望摘能。 院中可真熱鬧,春花似錦敲街、人聲如沸团搞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逻恐。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間复隆,已是汗流浹背拨匆。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挽拂,地道東北人惭每。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像亏栈,于是被迫代替她去往敵國和親台腥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,498評論 25 707
  • 皇帝疼長子绒北,百姓疼幺兒黎侈。 看到這個就莫名心酸。父母親都是家里的長子長姐闷游,他們那個年代就肩負了照顧弟弟妹...
    Jclin閱讀 268評論 0 0
  • 大芬村位于中國廣東省深圳市龍崗區(qū)布吉街道,是布吉街道下轄的一個村民小組,是一處著名的油畫村钙勃。占地面積0.4...
    Miss_Guo_閱讀 271評論 0 0
  • 大海里蛛碌,一個魚鉤低垂,旁邊幾條魚辖源,被吸引蔚携。 潛水人員,在觀察這一切克饶。 潛水員的位置和視角酝蜒,很像神》龋可以看到事件的全...
    一個壺閱讀 382評論 0 0