vs2010內(nèi)存泄露的檢測方法
編程是一件很枯燥的事情,使用vs2010來編程也是一樣,就是這么枯燥的事情也會(huì)有內(nèi)存泄露故障發(fā)生,為解決這事情以下學(xué)習(xí)啦小編為大家整理推薦了你需要的檢測知識,希望大家喜歡。
vs2010內(nèi)存泄露
cocos2d-x不僅可以做到跨平臺運(yùn)行,還可以做到跨平臺編譯調(diào)試(當(dāng)然只是編譯對應(yīng)平臺下的應(yīng)用了)。眾所周知,cocos2d-x是用c++編寫的,而c++中最讓人頭疼的莫過于指針和內(nèi)存泄露的問題,在windows下,cocos2d-x支持在vs下開發(fā),這樣,平時(shí)寫win32項(xiàng)目的開發(fā)工具就可以用在cocos2d-x開發(fā)上了,善哉!今天就介紹一個(gè)檢測內(nèi)存泄露的工具,Visual Leak Detector,簡稱 vld
1.安裝
這一步很簡單,官網(wǎng)已經(jīng)在上面給了,直接download吧,跳過!
2.簡介
安裝完成之后vld目錄如下:
簡單介紹下,include目錄下是vld庫的頭文件;lib目錄下是vld編譯生成的靜態(tài)庫,有32和64位兩個(gè)版本;src目錄是源碼了。。。
3.配置
ps: 對vs配置第三庫的高玩請自行跳過
(1)配置include
右鍵選擇需要監(jiān)測內(nèi)存泄露的工程,選擇Properties,選擇Configuration Properties->C/C++/->Additional Include Directories,如圖
選擇新加入一個(gè)include路徑,也就是安裝vld的include路徑,比如我剛才的路徑就是D:\Program Files\Visual Leak Detector\include,這樣,在工程里引入頭文件的時(shí)候就不會(huì)報(bào)找不到文件的錯(cuò)了!
(2)配置第三方庫
a.先配置第三庫所在路徑
步驟和(1)類似,只是這次要選擇Configuration Properties->Linker->General->Additional Library Directories,如圖
根據(jù)我vld的安裝目錄,應(yīng)該是D:\Program Files\Visual Leak Detector\lib\Win32
b.配置第三方庫
這次要選擇的是Configuration Properties->Linker->Input->Additional Dependencies,添加vld.lib,如圖
OK,配置完成了!
ps:當(dāng)然,雖然vs2010不支持全局配置了,但是還是可以再Property Manager中配置,需要的同學(xué)請google!
ps:如果項(xiàng)目需要合作開發(fā),最好將vld相關(guān)的文件拷貝到工程里,根據(jù)工程路徑設(shè)置,這樣不會(huì)導(dǎo)致在不同的PC上需要重新配置的問題!比如$(SolutionDir)xxxx
4.使用
ps:對vld使用很熟悉的請自行跳過。。。
嚴(yán)謹(jǐn)一點(diǎn),只有在win32平臺下才可以引入vld
[cpp] view plaincopyprint?#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
泄露代碼
[cpp] view plaincopyprint?char* ch = new char();
我并沒有釋放申請的內(nèi)存,這是一個(gè)顯而易見的內(nèi)存泄露的錯(cuò)誤,當(dāng)我們的程序運(yùn)行結(jié)束的時(shí)候,就會(huì)被檢測到,注意觀察Output