出版時間:2010-1 出版社:中國鐵道出版社 作者:石磊玉 頁數(shù):385
Tag標簽:無
前言
可能你還沒有注意到,與程序編碼相比,程序調(diào)試在開發(fā)中的比重更大,成本更高。有開發(fā)經(jīng)驗的人都知道,對于一個要實現(xiàn)的邏輯,要一口氣順利寫完代碼而且運行正確幾乎是不可能的,其中出現(xiàn)的語法錯誤可以通過編譯器的幫助來解決,這些錯誤相對簡單,對于潛伏在代碼中的邏輯錯誤,在運行時才會暴露出來,如導(dǎo)致程序崩潰或者給出錯誤的結(jié)果等,而且它們可能在發(fā)布時都沒有被發(fā)現(xiàn),成千上萬的用戶在使用時偶爾發(fā)現(xiàn),這類錯誤會影響軟件的市場。調(diào)試程序是一件煩瑣的事情,掌握必要的調(diào)試手段可以提高程序開發(fā)效率。對于一個程序開發(fā)者,除了掌握軟件開發(fā)技術(shù)之外,還要掌握調(diào)試技術(shù),沒有掌握調(diào)試技術(shù)就如同一個人沒有了免疫系統(tǒng)一樣。能夠巧妙、熟練地使用各種調(diào)試手段可以讓程序開發(fā)工作變得輕松。程序調(diào)試存在于編碼、測試、維護等諸多環(huán)節(jié),一個合格的開發(fā)者應(yīng)該能夠游刃有余地處理各個環(huán)節(jié)出現(xiàn)的錯誤。調(diào)試技術(shù)更多的是一種經(jīng)驗,需要通過不斷積累才能逐漸掌握,很多開發(fā)者都是在長時間的調(diào)試后才慢慢熟練起來。要是有一本綜合介紹調(diào)試技術(shù)的書籍,就可以大大減少初學(xué)者入門的時間。基于這個想法,本書精選了使用VisualC++開發(fā)所必須的調(diào)試技術(shù),從軟件開發(fā)的多個方面來介紹相關(guān)的調(diào)試方法,如VisualC#工具的調(diào)試功能、共享庫的調(diào)試、多線程程序的調(diào)試、內(nèi)存泄漏的調(diào)試、異常處理、SQL調(diào)試等,技術(shù)針對性非常強。讀者通過閱讀此書,能夠迅速掌握各種程序調(diào)試手段。全書學(xué)習(xí)地圖本書總結(jié)了作者軟件開發(fā)中的調(diào)試經(jīng)驗,將這些經(jīng)驗整理成冊,是為了幫助讀者輕松掌握調(diào)試技術(shù)。本書著眼于軟件工程,系統(tǒng)介紹了各種調(diào)試技術(shù)、避免錯誤的方法、缺陷管理等多個方面的內(nèi)容。本書的讀者對象為已經(jīng)學(xué)習(xí)過C/C++編程語言,掌握了基本的C++語法,有一定程序開發(fā)基礎(chǔ),并且可以使用VisualC++進行簡單程序開發(fā)的人員。
內(nèi)容概要
本書在介紹相關(guān)內(nèi)容時,通過實例闡述使晦澀的理論知識變得生動易懂。實例中的代碼都是在Visual C++ 6.0開發(fā)環(huán)境中編寫的,但調(diào)試理念和思想與軟件開發(fā)環(huán)境無關(guān),只是調(diào)試工具的操作細節(jié)不同。 本書以軟件開發(fā)過程的全局來介紹軟件調(diào)試,涉及編碼過程的規(guī)范、測試用例的編寫、事后調(diào)試、缺陷管理等多個開發(fā)環(huán)節(jié)的內(nèi)容,介紹了各種常用開發(fā)技術(shù)的調(diào)試方法,包括靜態(tài)鏈接庫調(diào)試、動態(tài)鏈接庫調(diào)試、多線程調(diào)試、內(nèi)存泄漏、內(nèi)核對象泄漏等。 本書主要面向軟件程序編碼人員、程序測試人員等軟件領(lǐng)域的技術(shù)從業(yè)人員,同時軟件開發(fā)管理人員也可從本書中了解到軟件缺陷管理方面的內(nèi)容。
書籍目錄
第1章 緒論 1.1 不可避免的調(diào)試工作 1.2 掌握調(diào)試 1.3 輕松調(diào)試的必備條件 第2章 編寫良好的代碼 2.1 代碼編寫規(guī)范 2.2 靜態(tài)代碼檢查 2.3 重構(gòu) 2.4 代碼結(jié)構(gòu)分析 2.5 測試代碼 第3章 Visual C++調(diào)試基礎(chǔ) 3.1 Visual C++調(diào)試工具 3.2 使用跟蹤語句 3.3 使用斷言 3.4 工程選項 3.5 調(diào)試版本和發(fā)布版本 3.6 調(diào)試發(fā)布版本 3.7 符號文件 3.8 使用預(yù)處理指令 第4章 庫調(diào)試 4.1 運行庫概述 4.2 創(chuàng)建鏈接庫 4.3 調(diào)試靜態(tài)鏈接庫 4.4 調(diào)試動態(tài)鏈接庫 第5章 多線程程序調(diào)試 5.1 多線程概述 5.2 線程的同步與互斥 5.3 多線程下內(nèi)存操作 5.4 編寫安全的線程代碼 5.5 調(diào)試方法 第6章 SQL調(diào)試 6.1 SQL概述 6.2 數(shù)據(jù)庫開發(fā) 6.3 編寫良好的SQL語句 6.4 數(shù)據(jù)庫性能調(diào)試 6.5 數(shù)據(jù)庫結(jié)構(gòu)分析 第7章 程序錯誤 7.1 程序錯誤類型 7.2 防御性編程 7.3 查看錯誤 第8章 內(nèi)存漏洞及調(diào)試 第9章 內(nèi)核對象泄漏及調(diào)試 第10章 結(jié)構(gòu)異常處理 第11章 事后調(diào)試 第12章 軟件缺陷管理 附錄
章節(jié)摘錄
插圖:2.3 重構(gòu)重構(gòu)(refactoring)就是在不改變軟件現(xiàn)有功能的基礎(chǔ)上,通過調(diào)整程序代碼改善軟件的質(zhì)量、性能,使其程序的設(shè)計模式和架構(gòu)更趨合理,提高軟件的擴展性和維護性。對于很多軟件開發(fā)項目,在項目開始階段,需求往往是不明確的,某些流程或者某些細節(jié)隨著項目的進展會發(fā)生變化;某些軟件系統(tǒng),在完成開發(fā)后,還存在升級的可能,以適應(yīng)新的技術(shù)發(fā)展趨勢,升級的內(nèi)容或技術(shù)細節(jié)在項目開發(fā)起始階段是很難精確確定的。因此系統(tǒng)設(shè)計人員對軟件項目往往只能從大方向予以把控,細枝末節(jié)很難把握,要讓系統(tǒng)設(shè)計人員的設(shè)計能夠完美的預(yù)見未來的任何變化、或者可以容納任何擴展和改變,這幾乎是不可能的。功能的變化導(dǎo)致設(shè)計的調(diào)整是不可難免的,所以“測試為先,持續(xù)重構(gòu)”作為良好開發(fā)習(xí)慣被越來越多的人所采納,測試和重構(gòu)是保證軟件質(zhì)量的法寶。本節(jié)主要介紹代碼重構(gòu)的相關(guān)內(nèi)容,測試的相關(guān)內(nèi)容在2.5節(jié)測試代碼中介紹。 2.3.1 重構(gòu)概述重構(gòu)是指對軟件內(nèi)部結(jié)構(gòu)調(diào)整,目的是在不改變“軟件之可察行為”的前提下,提高其可理解性,降低其修改成本。有關(guān)重構(gòu)的內(nèi)容請閱讀《重構(gòu)一改善既有代碼的設(shè)計》,在本書中,作者Martin Fowler充分展示了何處可能需要重構(gòu),如何將不好的設(shè)計改造為良好的設(shè)計等。1.重構(gòu)的目的重構(gòu)的精髓就是在不改變系統(tǒng)功能的情況下,改變系統(tǒng)的實現(xiàn)方式。為什么要這么做?投入精力不用來滿足客戶關(guān)心的需求,而是僅僅改變了軟件的實現(xiàn)方式,這是否是在浪費客戶的投資呢?
編輯推薦
《日臻完善:軟件調(diào)試與優(yōu)化典型應(yīng)用》包含書中調(diào)試基礎(chǔ)、調(diào)試技術(shù)和缺陷管理的所有代碼展示凝練代碼、規(guī)范編碼習(xí)慣《日臻完善:軟件調(diào)試與優(yōu)化典型應(yīng)用》站在軟件工程的高度,剖析各個環(huán)節(jié)的調(diào)試技術(shù)。從編碼規(guī)范、開發(fā)環(huán)節(jié)中的調(diào)試技術(shù)、測試環(huán)節(jié)中的調(diào)試技術(shù)、維護環(huán)節(jié)中的調(diào)試技術(shù)、軟件缺陷管理等多個角度對軟件調(diào)試進行了詳細的介紹,并且與軟件開發(fā)過程一一對應(yīng),便于讀者從軟件工程的角度把握軟件調(diào)試,從而在更高的層次上把握全局?!度照橥晟?軟件調(diào)試與優(yōu)化典型應(yīng)用》注重理論結(jié)合實際。在介紹各種技術(shù)的同時,給出了針對性很強的示例,而且盡量做到圖文并茂。《日臻完善:軟件調(diào)試與優(yōu)化典型應(yīng)用》中不乏凝練的代碼、圖表,通過這些讀者可以輕松地理解作者意圖,把握《日臻完善:軟件調(diào)試與優(yōu)化典型應(yīng)用》精髓?!度照橥晟?軟件調(diào)試與優(yōu)化典型應(yīng)用》不僅針對軟件中各種錯誤給出了調(diào)試方法,同時也給出、了預(yù)防措施,防患于未然,幫助開發(fā)者在開發(fā)中盡量少犯錯誤,養(yǎng)成良好的編碼習(xí)慣。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載