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