国产久草深夜福利精品_精品国产看高清国产毛片_成年日韩片av在线网站_亚洲国产综合777_免费高清一级在线观看_欧美色图中文字幕_老中医用嘴排阴毒 小雨_99精品无码视频在线播放_久久久精品强暴视频_国产aⅴ一区最新精品

軟件故障的克星:斷言調(diào)試
電子元件,電子元器件深圳市創(chuàng)唯電子有限公司
您現(xiàn)在的位置: 首頁 > 電子技術(shù)
軟件故障的克星:斷言調(diào)試  2012/3/1
斷言調(diào)試(Assertivedebugging)是利用自帶代碼對程序進行監(jiān)控并能確保嵌入式系統(tǒng)性能的新型調(diào)試方法。調(diào)試是一門有待進一步深入研究的“藝術(shù)”……最有效的調(diào)試技術(shù)是那些在程序本身基礎(chǔ)上設(shè)計并構(gòu)建的技術(shù),F(xiàn)在,許多最優(yōu)秀程序員都利用近一半的程序?qū)α硪话氤绦蜻M行調(diào)試;而用于調(diào)試的這一半程序最終將完全被摒棄。出人意料的是,這最終竟也能提高生產(chǎn)效率!(jié)選自DonaldKnuth的《計算機編程藝術(shù)(TheArtofComputerProgramming)》
 

斷言調(diào)試(Assertive debugging )是利用自帶代碼對程序進行監(jiān)控并能確保嵌入式系統(tǒng)性能的新型調(diào)試方法。

調(diào)試是一門有待進一步深入研究的“藝術(shù)”……最有效的調(diào)試技術(shù)是那些在程序本身基礎(chǔ)上設(shè)計并構(gòu)建的技術(shù),F(xiàn)在,許多最優(yōu)秀程序員都利用近一半的程序?qū)α硪话氤绦蜻M行調(diào)試;而用于調(diào)試的這一半程序最終將完全被摒棄。出人意料的是,這最終竟也能提高生產(chǎn)效率。 —節(jié)選自Donald Knuth的《計算機編程藝術(shù)(The Art of Computer Programming)》。

正如Don Knuth所述,調(diào)試經(jīng)常被我們嚴(yán)重忽視,而我們也因此付出了慘重的代價。近半個世紀(jì)以來,我們在調(diào)試領(lǐng)域取得的成就微乎其微,結(jié)果因軟件程序故障而陷入困境的項目比比皆是。因調(diào)試而浪費的時間和資源,在商業(yè)項目中,成本可能高達數(shù)十億美元;在軍事項目中,損失的不僅是金錢,甚至包括生命。這種現(xiàn)狀簡直讓人無法忍受:我們必須探尋新的方法和途徑。本文就提出了這樣一種新方法。

本文提出的新型軟件調(diào)試系統(tǒng)“斷言調(diào)試系統(tǒng)(ADS)”可以將調(diào)試由次要的“藝術(shù)形式”提升為現(xiàn)代工業(yè)流程。ADS雖然利用了既有的思想,即John von Neumann于1947年首先提出的“斷言”理論,但據(jù)我所知,ADS處理斷言的方式卻是Neumann或任何其他人從未提出的新方式:ADS更系統(tǒng)也更徹底地利用斷言,而不像其他工具只在程序員想到的時候才使用。為此,ADS將斷言由半個世紀(jì)以來一直漂浮不定且鮮有建樹的理論轉(zhuǎn)化為足以引領(lǐng)程序開發(fā)革命的技術(shù)。與Knuth的論述不同,ADS并不摒棄那部分用于調(diào)試的程序,而是將其作為程序主體補充的文檔進行保存,這樣,當(dāng)程序需要修改時完全可以加以復(fù)用。

程序故障是主要的瓶頸

現(xiàn)在幾乎不可能找到完全不需要編程運算的科學(xué)或工程項目,同樣地,也很難找到不因程序故障原因而無法預(yù)期交付的軟件。調(diào)試問題對幾乎所有的項目都至關(guān)重要,而因軟件程序故障帶來教訓(xùn)也足夠深刻:當(dāng)客戶對產(chǎn)品不滿意時,我們會喪失業(yè)務(wù);當(dāng)產(chǎn)品遲遲無法推向市場時,我們的銷售額會下降。隨著我們在關(guān)鍵應(yīng)用中越來越頻繁地使用計算機,我們的教訓(xùn)也越來越慘重,這不僅關(guān)乎任務(wù)完成,甚至性命攸關(guān)。

在這些關(guān)鍵應(yīng)用中,慎重地選擇調(diào)試方法并加以證明變得越來越重要,甚至成為法律需要。對于那些高度依賴調(diào)試的應(yīng)用而言,一半程序完全用于調(diào)試已日益無法忍受。ADS方法在編程的同時就能直接觸及這些問題:這有助于開發(fā)人員縮短調(diào)試進程并支持軟件對象的系統(tǒng)級和存檔級調(diào)試。本文極力主張采用該方法,這或許有助于防止陷入困境。

調(diào)試的現(xiàn)狀

調(diào)試發(fā)展歷程中最值得關(guān)注的是,現(xiàn)代調(diào)試技術(shù)居然與半個世紀(jì)前剛剛進入現(xiàn)代計算時代時沒有太大區(qū)別。我們?nèi)匀蛔尮收铣绦蜻\行至預(yù)測的關(guān)鍵點,然后停止運行并查看關(guān)鍵變量的狀態(tài)。只要其中一個關(guān)鍵變量的值與預(yù)期的不同,我們就會努力分析為什么會造成這種結(jié)果。如果不知道什么地方出錯,我們會重復(fù)執(zhí)行這個過程,在程序更早的地方停下來。經(jīng)過若干次反復(fù),我們就能在充分接近程序故障的地方停下來,結(jié)果發(fā)現(xiàn),故障的原因是:我們忘了重置某個計數(shù)器或清空某段內(nèi)存、從而使某些數(shù)據(jù)結(jié)構(gòu)產(chǎn)生溢出或犯了其他6種經(jīng)典編程錯誤中的任意一種。

與《軟件故障的克星:斷言調(diào)試》相關(guān)列表
電話:400-900-3095
QQ:800152669
庫存查詢
Copyright(C) 2011-2021 Szcwdz.com 創(chuàng)唯電子 版權(quán)所有 備案號:粵ICP備11103613號
專注電子元件代理銷售  QQ:800152669  電子郵件:sales@szcwdz.com  電話:400-900-3095