開發(fā)輔助工具大收集
除了我們?nèi)粘i_發(fā)使用的Visual C++、Delphi、JBuilder等等大家伙,
還有很多小巧好用的開發(fā)輔助工具,善用它們可以極大的提高我們的效率。
日常工作中我主要使用Visual C++開發(fā)程序,工作幾年,收集了一些小工具,
下面逐個(gè)介紹給大家。也希望大家把自己的工具拿出來(lái)和大家分享。
如果大家需要,請(qǐng)跟貼,需要的朋友多的話,我上傳到FTP上(都是沒(méi)有限制的最新版本喲)
Visual C++插件
[1] Visual Assist
http://www.wholetomato.com/download/index.shtml
這是我現(xiàn)在使用最為頻繁的工具,有了它,現(xiàn)在在Visual C++中寫程序簡(jiǎn)直成了一種享受,
Visual Assist的智能提示功能實(shí)在是太強(qiáng)大了,估計(jì)大家都應(yīng)該裝了吧!
唯一不太爽的是Visual Assist對(duì)C++ STL和Templates的解析還是有待改進(jìn)。
[2] WndTab
http://www.wndtabs.com
Visual C++ 6.0的編輯窗口沒(méi)有分頁(yè)顯示,
想在打開的多個(gè)文件中切換非常麻煩,
WndTab為VC的編輯窗口加上了Tab,
現(xiàn)在點(diǎn)擊每個(gè)文件的Tab就可以方便的切換到該文件進(jìn)行編輯了,強(qiáng)烈推薦。
[3] BoundsCheck
CompuWare的調(diào)試工具,可以集成到Visual C++中。
BoundsCheck可以幫助我們發(fā)現(xiàn)程序中隱藏的bug,比如Memory Leak等。
缺省安裝后,BoundsCheck的設(shè)置是每當(dāng)發(fā)現(xiàn)調(diào)試狀態(tài)下運(yùn)行的程序中的bug就馬上中斷執(zhí)行,返回Visual C++窗口報(bào)告bug,但是很多BoundsCheck發(fā)現(xiàn)的bug都是一些程序隱患,但不影響當(dāng)前程序運(yùn)行,所以有些討厭。可以在BoundsCheck的工具欄中將立即報(bào)告錯(cuò)誤按鈕釋放,以后我們就可以不被BoundsCheck打擾,而是每次調(diào)試后得到一份BoundsCheck的bug匯總報(bào)告!
其他工具
[4] 界面庫(kù)Xtreme Toolkit
http://www.codejock.com
和Xtreme Toolkit類似的還有BCG Controls,但是我覺(jué)得Xtreme Toolkit更好用一些,它們都提供了一整套功能強(qiáng)大、非常漂亮的控件,幫助我們輕松創(chuàng)建出很Cool的程序界面,從而把主要精力放到程序功能上。
[5] IconXP
http://www.aha-soft.com
制作程序的各種圖標(biāo),如果利用Visual C++或者Delphi等自帶的資源編輯器,只能編輯256色的圖標(biāo),非常麻煩而且基本無(wú)法編輯出XP風(fēng)格的圖標(biāo)來(lái)。利用IconXP可以輕松創(chuàng)作出很Cool的圖標(biāo)來(lái),而且IconXP能夠從各種文件中提取出圖標(biāo)文件。
寫了這么多,累了,明天繼續(xù)……
[6] OllyDbg
http://home.t-online.de/home/Ollydbg/
這是一個(gè)很Cool的靜態(tài)反匯編工具,并且能夠在反匯編代碼的基礎(chǔ)上對(duì)應(yīng)用程序進(jìn)行調(diào)試。
個(gè)人認(rèn)為OllyDbg比很多crack網(wǎng)站上推薦的WDASM好用,因?yàn)镺llyDbg加入了很多對(duì)反匯編代碼的進(jìn)一步分析功能,并加上相應(yīng)的注釋,非常方便。
比如應(yīng)用程序在某處調(diào)用了Windows API函數(shù),該處后面就會(huì)出現(xiàn)注釋告訴你這里調(diào)用了哪個(gè)Windows API函數(shù),更酷的是連給該Windows API傳遞參數(shù)的地方也會(huì)加上注釋說(shuō)明。
另外由于很多應(yīng)用程序都是使用Visual C++編寫,而Visual C++生成的匯編代碼有一定的格式(如果沒(méi)有選擇某些優(yōu)化功能的時(shí)候),所以O(shè)llyDbg甚至?xí)⒁恍﹨R編代碼對(duì)應(yīng)的C語(yǔ)言代碼以注釋的方式說(shuō)明。
OllyDbg本身的調(diào)試功能也很強(qiáng)大,多用幾次就會(huì)得心應(yīng)手。
總而言之,OllyDbg絕對(duì)是在沒(méi)有源代碼的情況下分析應(yīng)用程序的必備工具。
CodeProject上有兩篇文章FreeCell & Hearts, behind the scenes和Minesweeper, Behind the scenes,作者就是以O(shè)llyDbg為工具探索到了Windows附帶的掃雷游戲、空當(dāng)接龍游戲的底層數(shù)據(jù)結(jié)構(gòu),從而寫出了直接讀取這些游戲內(nèi)存的程序,我稍加修改就做了一個(gè)自動(dòng)掃雷的程序,呵呵。
以下程序在http://www.sysinternals.com有提供
[7] DebugView
看過(guò)《深入淺出MFC》嗎,候捷先生在書的最后提到了一種追蹤TRACE(實(shí)際上是Windows函數(shù)OutputDebugString)的工具。有了該工具,你就可以在應(yīng)用程序運(yùn)行時(shí)通過(guò)它觀察追蹤應(yīng)用程序內(nèi)部的運(yùn)行情況,只要你在程序中加了足夠多的TRACE宏,并且以Debug版本編譯。
特別是對(duì)于程序邏輯復(fù)雜(Debug幾次就暈了),或者涉及到圖形界面刷新或顯示的程序(如果用一臺(tái)電腦調(diào)試,在Visual C++環(huán)境和被調(diào)試程序之間切換,你很難看到正確的結(jié)果),或者非常耗費(fèi)系統(tǒng)資源的程序(在用Visual C++調(diào)試運(yùn)行,就更費(fèi)勁了),巧妙的使用這類工具可以高效的解決問(wèn)題。
說(shuō)實(shí)話,Paul DiLascia等大師固然提供了這些工具,但是這些大師只是為了展示某些技術(shù),所以他們提供的工具都只有基本功能。而DebugView是同類工具中最為優(yōu)秀的一個(gè),適用范圍廣,能夠定制各種過(guò)濾條件,讓你只看到關(guān)心的TRACE輸出信息,而且可以定制高亮顯示的內(nèi)容等等,非常方便。
DebugView是完全免費(fèi)的!
[8]
Disk Monitor
File Monitor
Register Monitor
Port Monitor
這系列Monitor工具分別對(duì)系統(tǒng)中的磁盤、文件、注冊(cè)表、端口的變化更改進(jìn)行實(shí)時(shí)監(jiān)控并記錄下來(lái),對(duì)于我們追蹤程序?qū)ο到y(tǒng)進(jìn)行了那些更改特別有用。
SysInternals上面還有很多工具,都是免費(fèi)的,有些還提供源代碼。
上面是我經(jīng)常使用的開發(fā)輔助工具,有些可能一時(shí)沒(méi)有想到,待以后慢慢在這里補(bǔ)全。
因我主要使用Visual C++進(jìn)行開發(fā),所以介紹的工具也都主要是和Visual C++相關(guān)的,希望有朋友能夠?qū)⑵渌饕_發(fā)工具的好的配套輔助工具也來(lái)個(gè)介紹。
另外,如果有朋友需要上面介紹的工具,請(qǐng)跟貼,我試情況上傳到FTP上供大家下載。