Windows中主流的調(diào)試器介紹
轉(zhuǎn)帖|其它|編輯:郝浩|2008-09-22 13:58:41.000|閱讀
914 次
概述:Windows中主流的調(diào)試器介紹
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
調(diào)試器,顧名思義,就是用于調(diào)試的工具。為什么要調(diào)試呢?這得從一條蟲子(bug)說起。江湖中傳說還是在第一代真空管電子計算機時代,有一次研究人員發(fā)現(xiàn)計算機的行為不正常。于是他們就開始檢查每個環(huán)節(jié)想找到原因,最終他們在機器里找到了條蟲子(bug)從而解決了問題。于是后來便把發(fā)現(xiàn)并解決程序中與預期不符的行為稱之為捉蟲或除蟲,也就bug加個De-前綴,即Debug。
- 火星人開發(fā)的程序是不是絕對沒有bug,我不清楚,因為沒見過。但是地球人的話,我個人認為鑒于自身思維上的不完備性注定了地球人開發(fā)的稍具規(guī)模的程序要完全正確幾乎不可能。那么既然程序出現(xiàn)了bug,就要除掉它。修正的方法很多,比如檢視代碼、察看日志、借助調(diào)試工具等等。這里重點要介紹的就是Windows系統(tǒng)中使用的較多的一些調(diào)試工具,它們各有特點,也各有用途。更多地了解它們,就能更好的利用它們高效的查錯。
- u Visual Studio系列集成開發(fā)環(huán)境提供的調(diào)試器:Visual Studio系列作為微軟提供的專業(yè)開發(fā)工具,配合其集成的可視化調(diào)試器,強大的能力那是可圈可點。尤其是VC++6.0(Visual Studio 98帶的,因為重點是c++程序的調(diào)試,所以干脆就直接提VC6好了)之后提供的Edit and Continue功能,太爽了,太爽了!從此開發(fā)人員簡直就變成了貓頭鷹,如虎添翼哈~。VC6最大的特點就是開發(fā)功能和調(diào)試功能完美結(jié)合,察看內(nèi)存、調(diào)用堆棧、寄存器,調(diào)試動態(tài)庫,調(diào)試多線程,甚至直接進行匯編級的調(diào)試,功能可謂是琳瑯滿目,應有盡有。一定要好好掌握,這是基礎(chǔ)。
- u ntsd.exe:這是Windows系統(tǒng)自帶的一個小巧的用戶態(tài)調(diào)試器。到底是從Windows的哪個版本開始有的,我不清楚。但是Win2k之后的系統(tǒng)都有了。ntsd是NT Symbolic Debugger的簡寫。既然名字中都有Symbolic,那自然是表示帶有符號調(diào)試的功能,這一點很有用,以后會提到。ntsd因為是系統(tǒng)自帶的調(diào)試器,所以用來在程序發(fā)布后出現(xiàn)問題時收集信息時非常方便。只需要一個命令(先睹為快:ntsd -pv -pn app.exe -c ".dump /ma app.dmp;-q")就能把進程的信息dump下來分析,相當實用。
- u 強大的Windbg:這是ntsd的增強版,更確切的說,ntsd是WindDbg的精簡版。它提供了極為強大的調(diào)試功能,支持用戶態(tài)和內(nèi)核態(tài)源碼級的調(diào)試,圖形化的界面,使用起來還是挺方便的。關(guān)鍵是它可以很輕松的調(diào)試一些平常不容易解決的問題,比如死鎖,CPU占用率100%,內(nèi)存對破壞,堆棧破壞,程序崩潰等錯誤。如果你遇到這種棘手問題無法解決,那還等什么呢,趕緊祭出WinDbg吧。當然,強大的調(diào)試器命令自然也比較多一點,必須承認學好它還是有點費時的。但是,想一想學好它后可以解決的問題,相信我,絕對值回票價。WinDbg可以在微軟官方網(wǎng)站下載,免費噢~
- u OllyDbg:這是一款提供可視化界面的Win32匯編級的調(diào)試器。盡管你可以用它調(diào)試任何Win32用戶態(tài)的程序,但是它的主要用戶都是在破解界和病毒木馬界。因為它最大的特點是能夠自動的識別出大量的系統(tǒng)函數(shù)及函數(shù)參數(shù)、句柄對象、甚至直接修改二進制代碼,所以如果想要分析競爭對手的特色功能的話,嗯嗯。。。。學習OllyDbg的使用,可以去一些專業(yè)的破解技術(shù)的網(wǎng)站(或者說安全技術(shù)的網(wǎng)站),比如國內(nèi)最專業(yè)的網(wǎng)站:看雪,www.pediy.com
- u Softice:盡管我已經(jīng)多年沒有再用過它了,但可以肯定的是,這絕對是我用過的最強大的調(diào)試器,以至于我都不打算在這里介紹它。對于每個想深入研究Windows操作系統(tǒng)的人,都應該學會使用它。google上有大量的相關(guān)信息。
標簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:DIY部落