使用BoundsChecker查找內存泄露

    以前搞開發時,曾經寫過類似的文章,不過帶不出來,最近VS推出了新版VS2010,而BoundsChecker也推出了適用於vc6, vs2005,vs2008,vs2010的新版本,於是下載下來試了一下,和VC6下有一些不同.

 

    安裝好BoundsChecker後,在VS工具欄有一個工具條

,由於BoundsChecker使用插樁的方式,來查找內存泄露,所以需要在編譯的時候,來執行插樁操作,有一個開關,決定編譯時是否使用BoundsChecker來插樁就是第五個,藍色的圖標,點中後,後面的編譯條狀態爲有效,初始值Error detection,表示查錯,點擊第一個紅色的圖標旁邊的小箭頭,彈出下拉菜單,選擇Start with Error Detection,開始插樁方式編譯並調試運行。過程中如果彈出有的窗口,需要你提供系統源文件如afxwin2.inl,thrdcore.cpp

 

選擇“取消“,因爲我們不需要查找系統文件中的錯。隨後會出現錯誤的源碼位置,彈出一個標題上寫了Program Error Detected的錯誤框

.

如果暫時不改,點擊右下解的Continue繼續.

 

   最後等到程序退出時,出現一個結果報告:

雙擊最頂上的Memory Leaks Detected,可以看到有哪些地文件出現了內存泄露.在紅色的錯誤上面右鍵->Edit Source就可以修改了。

 

 

   BoundsChecker適用於中小型代碼量的項目.代碼太多了,會很慢.比如在騰訊RTX的項目上使用(60~80萬行代碼),就基本用不了,太慢了.

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