• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機程序調試黑皮書

    單片機程序調試黑皮書

    作者: 時間:2012-08-06 來源:網絡 收藏

    1、程序的確定性比硬件大,不要害怕程序問題。
    2、寫程序,最重要的不是學會某種語言,而是會分析問題并提出解決問題的方法。
    3、含有的程序較為復雜,需要編寫者清楚同一時刻,我在做什么,其他人在做什么,用“并發”的方式思考問題,才能寫好。
    4、程序模塊化是為了編寫而不是為了運行,模塊化和函數是兩個不同的概念,函數是為了將需要多次使用的代碼統一編寫,以便減少程序代碼量,便于維護;模塊化是指將復雜的程序功能化整為零而成的功能塊,一個模塊可能由多個函數組成,也可能就是一個函數,還有可能只是一段緊密相連的代碼塊。
    模塊---打開冰箱門
    1、抬起右手,移動到冰箱門把中心右側1cm處
    2、彎曲右手手指,構筑冰箱門
    3、以2kg的力量向后拉
    4、完成
    5、好的模塊化設計,模塊間的接口簡單明了。總的來說,好看好改的程序就是好程序。
    6、編寫程序的好習慣是分模塊編寫,邊寫邊測試,在通過測試的模塊基礎上編寫下一個模塊,可以減少程序出現問題的可能性,快速排除與問題相關的模塊并定位到程序語句。
    7、注釋不是程序,但可以幫助編寫者提高邊寫的可能性,也可以大大提高程序的可維護性。建議C語言程序注釋到函數,一些重要的操作至少要注釋;匯編語言程序,至少注釋70%的語句行,建議一行一注。
    8、程序有BUG是很正常的,要學會找BUG的方法。
    9、故障分軟硬,軟故障最難找。軟故障多源于設計臨界所導致,在一定出發條件下發生,當條件破壞時,故障可能消失得無影無蹤。
    軟故障的誤導性來源于對硬故障的經驗積累。硬故障因為無需出發條件,人們往往用
    嘗試---判斷--再嘗試
    10、軟件和硬件密不可分,查找問題時要兩者兵種,不可死認一方。
    11、Debug高手和新手間的區別,高手知道該如何去找,而新手會迷茫。
    12、平時就要注意積累。學習軟硬件只是,還要熟悉自己的實際應用,包括應用條件,否則會對放在面前,對推理極有價值的關鍵現象視而不見。找BUG可以用“猜” 的方法,但是“猜”完了要推理到所有的現象上去“驗證”。所以我們說“懷疑---否定---再懷疑---再否定,直到找到真理所在”,前面的“嘗試--- 判斷---再嘗試”是找BUG的基本方法。
    13、在BUG面前,新手和高手初始化狀態是一樣的,只是高手有意識去找現象用于分析,新手看著現象發呆罷了。
    14、論據有兩種獲得方式---尋找和傻等,高手以尋找為主,新手以傻等為主。
    15、隨機對隨機的方式是一種在查找小概率軟故障時用得極端確認方法,需要使用者對故障的基本特征熟練掌握,明確“小概率事件很少發生”的原理。
    16、當一個系統由若干個部分組成時,尋找故障的時候可以將懷疑引起故障的部分更換到其他系統上,通過觀察故障現象是否隨該部分遷移來判斷BUG所在。
    17、將精力集中在需要查找的部分,排除其他模塊的影響,用最簡單的方法去判斷,這就是模塊隔離法的價值所在。
    18、發生時間相關性BUG,其分開測試正確,合并測試出錯的特性往往讓初學者抓狂,在調試含有的程序時,一定要多條思路,懷疑程序的時間相關性。
    19、因為只有在實際運行時才會表現出來,時間相關性BUG比較難于查找,這也就是我們建議程序在實際環境中調試,而不是仿真環境下調試的原因之一,遵守基本規則編寫程序是避免時間相關性BUG說呢之所有BUG的根源。多觀察現象,積累判斷依據是找時間相關性BUG的法寶。

    以上為教程網http://www.51hei.com 站長huqin在多年程序開發中總結的一些經驗,雖然寫程序很累,只要我們不斷的積累經驗不斷的學習,樂趣自然在其中,當我們開發成功一個產品我想得到的不僅僅是一個產品,還有自豪和滿足吧.程序員是一個有激情的工作,希望我們都能繼續寫下去.



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 富蕴县| 雅江县| 抚远县| 大石桥市| 濉溪县| 焉耆| 奉化市| 新乡市| 手游| 泰州市| 大连市| 法库县| 东海县| 曲阜市| 剑阁县| 安图县| 满洲里市| 天津市| 日喀则市| 偃师市| 岗巴县| 高陵县| 金秀| 旅游| 白沙| 长治市| 泊头市| 交口县| 甘泉县| 永嘉县| 镇宁| 成都市| 永新县| 保山市| 白水县| 休宁县| 江口县| 庆阳市| 夹江县| 咸阳市| 宜宾县|