說明
使用 VLD 內(nèi)存泄漏檢測(cè)工具輔助開發(fā)時(shí)整理的學(xué)習(xí)筆記。本篇介紹使用 VLD 時(shí)的注意事項(xiàng)。同系列文章目錄可見 《內(nèi)存泄漏檢測(cè)工具》目錄
- 說明
- 1. 官網(wǎng)文檔
- 2. 注意事項(xiàng)
1. 官網(wǎng)文檔
可以在 Using-Visual-Leak-Detector 官方文檔里看到如何使用 VLD,里面介紹了如何在 Visual C++ 2003/2005/2008/2010/2012/2013 中配置 VLD 的環(huán)境、如何使用 VLD。文章來源:http://www.zghlxwxcb.cn/news/detail-410649.html
2. 注意事項(xiàng)
以 v2.5.1
版本為例,使用時(shí)有以下幾點(diǎn)需注意。文章來源地址http://www.zghlxwxcb.cn/news/detail-410649.html
- 只要在項(xiàng)目的其中一個(gè)文件中
#include "vld.h"
就夠了,這個(gè)文件可以是main
函數(shù)所在文件,也可以是其他依賴源碼所在文件。多個(gè)文件包含其實(shí)也沒什么影響,但可能不便于后期的代碼維護(hù)。 - 一般情況下,只要確保頭文件
vld.h
是在預(yù)編譯頭文件(最典型的比如stdafx.h
)之后包含即可,相對(duì)于其他頭文件來說,include
的順序沒什么影響。但當(dāng)stdafx.h
文件中有#include <afxwin.h>
時(shí),就需將#include "vld.h"
放在stdafx.h
文件里面,且要放在#include <afxwin.h>
的前面,不然泄漏檢測(cè)功能無法正常使用。 - 如果要檢測(cè)某個(gè)
DLL
動(dòng)態(tài)鏈接庫是否有內(nèi)存泄露,最好的方法是在該DLL
的源代碼里面包含vld.h
后重新打包,然后使用新生成的DLL
庫。另一種方法是修改配置文件vld.ini
文件中的配置項(xiàng)ForceIncludeModules
,將要檢測(cè)的DLL
庫名稱寫在等號(hào)右邊,具體操作可見本人另一篇博客 配置項(xiàng) ForceIncludeModules,但根據(jù)配置文件中的相關(guān)注釋,ForceIncludeModules
功能開啟后程序有崩潰的風(fēng)險(xiǎn),因此第二種方法需慎用。
到了這里,關(guān)于【Visual Leak Detector】使用注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!