Detector 檢測記憶體洩露

2021-06-26 20:40:30 字數 1410 閱讀 6876

cocos2d-x不僅可以做到跨平台執行,還可以做到跨平台編譯除錯(當然只是編譯對應平台下的應用了)。眾所周知,cocos2d-x是用c++編寫的,而c++中最讓人頭疼的莫過於指標和記憶體洩露的問題,在windows下,cocos2d-x支援在vs下開發,這樣,平時寫win32專案的開發工具就可以用在cocos2d-x開發上了,善哉!今天就介紹乙個檢測記憶體洩露的工具,visual leak detector,簡稱 vld

這一步很簡單,官網已經在上面給了,直接download吧,跳過!

安裝完成之後vld目錄如下:

簡單介紹下,include目錄下是vld庫的標頭檔案;lib目錄下是vld編譯生成的靜態庫,有32和64位兩個版本;src目錄是原始碼了。。。

ps: 對vs配置第三庫的高玩請自行跳過

右鍵選擇需要監測記憶體洩露的工程,選擇properties,選擇configuration properties->c/c++/->additional include directories,如圖

選擇新加入乙個include路徑,也就是安裝vld的include路徑,比如我剛才的路徑就是d:\program files\visual leak detector\include,這樣,在工程裡引入標頭檔案的時候就不會報找不到檔案的錯了!

步驟和(1)類似,只是這次要選擇configuration properties->linker->general->additional library directories,如圖

根據我vld的安裝目錄,應該是d:\program files\visual leak detector\lib\win32

這次要選擇的是configuration properties->linker->input->additional dependencies,新增vld.lib,如圖

ok,配置完成了!

ps:當然,雖然vs2010不支援全域性配置了,但是還是可以再property manager中配置,需要的同學請google!

ps:如果專案需要合作開發,最好將vld相關的檔案拷貝到工程裡,根據工程路徑設定,這樣不會導致在不同的pc上需要重新配置的問題!比如$(solutiondir)***x

ps:對vld使用很熟悉的請自行跳過。。。

嚴謹一點,只有在win32平台下才可以引入vld

記憶體洩露檢測

c 中檢測記憶體洩漏可以引入系統定義的巨集來檢視,內存在哪個位置洩漏 檔案開始處加入下列定義 define crtdbg map alloc include include 程式退出時加入以下函式 crtdumpmemoryleaks 如果有洩漏會顯示 記憶體洩漏是程式設計中常常見到的乙個問題,我所...

檢測記憶體洩露

程式結束時,作業系統會 程式占用的資源.但是,只要程式還在執行,如果不進行清理,資源最終可能被耗盡.1.vc記憶體洩露檢查工具 visual leak detector 現在已知的最新有2.0版本的,使方法不詳。使用 visual leak detector 2.2.3 在vs工程的linker i...

記憶體洩露檢測

1 包含標頭檔案 include include 2 每個cpp檔案包含 static char this file file define new new normal block,this file,line 3 設定標誌 int tmpdbgflag tmpdbgflag crtsetdbgf...