Visual C++ 編程輔助工具

Visual C++ 編程輔助工具(轉載)
開發輔助工具大收集

除了我們日常開發使用的Visual C++、Delphi、JBuilder等等大傢伙, 
還有很多小巧好用的開發輔助工具,善用它們可以極大的提高我們的效率。

日常工作中我主要使用Visual C++開發程序,工作幾年,收集了一些小工具, 
下面逐個介紹給大家。也希望大家把自己的工具拿出來和大家分享。

如果大家需要,請跟貼,需要的朋友多的話,我上傳到FTP上(都是沒有限制的最新版本喲) 

Visual C++插件 
[1] Visual Assist 
http://www.wholetomato.com/download/index.shtml 

這是我現在使用最爲頻繁的工具,有了它,現在在Visual C++中寫程序簡直成了一種享受, 
Visual Assist的智能提示功能實在是太強大了,估計大家都應該裝了吧! 
唯一不太爽的是Visual Assist對C++ STL和Templates的解析還是有待改進。 

[2] WndTab 
http://www.wndtabs.com 

Visual C++ 6.0的編輯窗口沒有分頁顯示, 
想在打開的多個文件中切換非常麻煩, 
WndTab爲VC的編輯窗口加上了Tab, 
現在點擊每個文件的Tab就可以方便的切換到該文件進行編輯了,強烈推薦。 

[3] BoundsCheck 
CompuWare的調試工具,可以集成到Visual C++中。 
BoundsCheck可以幫助我們發現程序中隱藏的bug,比如Memory Leak等。 
缺省安裝後,BoundsCheck的設置是每當發現調試狀態下運行的程序中的bug就馬上中斷執行,返回Visual C++窗口報告bug,但是很多BoundsCheck發現的bug都是一些程序隱患,但不影響當前程序運行,所以有些討厭。可以在BoundsCheck的工具欄中將立即報告錯誤按鈕釋放,以後我們就可以不被BoundsCheck打擾,而是每次調試後得到一份BoundsCheck的bug彙總報告! 


其他工具 
[4] 界面庫Xtreme Toolkit 
http://www.codejock.com 

和Xtreme Toolkit類似的還有BCG Controls,但是我覺得Xtreme Toolkit更好用一些,它們都提供了一整套功能強大、非常漂亮的控件,幫助我們輕鬆創建出很Cool的程序界面,從而把主要精力放到程序功能上。 

[5] IconXP 
http://www.aha-soft.com 

製作程序的各種圖標,如果利用Visual C++或者Delphi等自帶的資源編輯器,只能編輯256色的圖標,非常麻煩而且基本無法編輯出XP風格的圖標來。利用IconXP可以輕鬆創作出很Cool的圖標來,而且IconXP能夠從各種文件中提取出圖標文件。 

寫了這麼多,累了,明天繼續……
[6] OllyDbg 
http://home.t-online.de/home/Ollydbg/ 

這是一個很Cool的靜態反彙編工具,並且能夠在反彙編代碼的基礎上對應用程序進行調試。 
個人認爲OllyDbg比很多crack網站上推薦的WDASM好用,因爲OllyDbg加入了很多對反彙編代碼的進一步分析功能,並加上相應的註釋,非常方便。 
比如應用程序在某處調用了Windows API函數,該處後面就會出現註釋告訴你這裏調用了哪個Windows API函數,更酷的是連給該Windows API傳遞參數的地方也會加上註釋說明。 
另外由於很多應用程序都是使用Visual C++編寫,而Visual C++生成的彙編代碼有一定的格式(如果沒有選擇某些優化功能的時候),所以OllyDbg甚至會將一些彙編代碼對應的C語言代碼以註釋的方式說明。 

OllyDbg本身的調試功能也很強大,多用幾次就會得心應手。 
總而言之,OllyDbg絕對是在沒有源代碼的情況下分析應用程序的必備工具。 

CodeProject上有兩篇文章FreeCell & Hearts, behind the scenes和Minesweeper, Behind the scenes,作者就是以OllyDbg爲工具探索到了Windows附帶的掃雷遊戲、空當接龍遊戲的底層數據結構,從而寫出了直接讀取這些遊戲內存的程序,我稍加修改就做了一個自動掃雷的程序,呵呵。 

以下程序在http://www.sysinternals.com有提供 
[7] DebugView 

看過《深入淺出MFC》嗎,候捷先生在書的最後提到了一種追蹤TRACE(實際上是Windows函數OutputDebugString)的工具。有了該工具,你就可以在應用程序運行時通過它觀察追蹤應用程序內部的運行情況,只要你在程序中加了足夠多的TRACE宏,並且以Debug版本編譯。 
特別是對於程序邏輯複雜(Debug幾次就暈了),或者涉及到圖形界面刷新或顯示的程序(如果用一臺電腦調試,在Visual C++環境和被調試程序之間切換,你很難看到正確的結果),或者非常耗費系統資源的程序(在用Visual C++調試運行,就更費勁了),巧妙的使用這類工具可以高效的解決問題。 
說實話,Paul DiLascia等大師固然提供了這些工具,但是這些大師只是爲了展示某些技術,所以他們提供的工具都只有基本功能。而DebugView是同類工具中最爲優秀的一個,適用範圍廣,能夠定製各種過濾條件,讓你只看到關心的TRACE輸出信息,而且可以定製高亮顯示的內容等等,非常方便。 
DebugView是完全免費的! 

[8] 
Disk Monitor 
File Monitor 
Register Monitor 
Port Monitor 

這系列Monitor工具分別對系統中的磁盤、文件、註冊表、端口的變化更改進行實時監控並記錄下來,對於我們追蹤程序對系統進行了那些更改特別有用。 

SysInternals上面還有很多工具,都是免費的,有些還提供源代碼。

上面是我經常使用的開發輔助工具,有些可能一時沒有想到,待以後慢慢在這裏補全。 
因我主要使用Visual C++進行開發,所以介紹的工具也都主要是和Visual C++相關的,希望有朋友能夠將其他主要開發工具的好的配套輔助工具也來個介紹。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章