vs2010使用vld檢測內存泄露


cocos2d-x不僅可以做到跨平台運行,還可以做到跨平台編譯調試(當然只是編譯對應平台下的應用了)。眾所周知,cocos2d-x是用c++編寫的,而c++中最讓人頭疼的莫過於指針和內存泄露的問題,在windows下,cocos2d-x支持在vs下開發,這樣,平時寫win32項目的開發工具就可以用在cocos2d-x開發上了,善哉!今天就介紹一個檢測內存泄露的工具,Visual Leak Detector,簡稱 vld

1.安裝

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

2.簡介

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

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

3.配置

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

(1)配置include

右鍵選擇需要監測內存泄露的工程,選擇Properties,選擇Configuration Properties->C/C++/->Additional Include Directories,如圖

選擇新加入一個include路徑,也就是安裝vld的include路徑,比如我剛才的路徑就是D:\Program Files\Visual Leak Detector\include,這樣,在工程里引入頭文件的時候就不會報找不到文件的錯了!

(2)配置第三方庫

a.先配置第三庫所在路徑

步驟和(1)類似,只是這次要選擇Configuration Properties->Linker->General->Additional Library Directories,如圖

根據我vld的安裝目錄,應該是D:\Program Files\Visual Leak Detector\lib\Win32

b.配置第三方庫

這次要選擇的是Configuration Properties->Linker->Input->Additional Dependencies,添加vld.lib,如圖

OK,配置完成了!

ps:當然,雖然vs2010不支持全局配置了,但是還是可以再Property Manager中配置,需要的同學請google!

ps:如果項目需要合作開發,最好將vld相關的文件拷貝到工程里,根據工程路徑設置,這樣不會導致在不同的PC上需要重新配置的問題!比如$(SolutionDir)xxxx

4.使用

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

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

1 #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
2 #include "vld.h"
3 #endif

泄露代碼

1 char* ch = new char();

我並沒有釋放申請的內存,這是一個顯而易見的內存泄露的錯誤,當我們的程序運行結束的時候,就會被檢測到,注意觀察Output

結束!~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM