Visual Leak Detector是一款免費的、健全的、開源的Visual C++內(nèi)存泄露檢測系統(tǒng)。相比Visual C++自帶的內(nèi)存檢測機制,Visual Leak Detector可以顯示導(dǎo)致內(nèi)存泄露的完整內(nèi)存分配調(diào)用堆棧。
Visual Leak Detector其實是基于vc自帶的檢測工具工作的,雖然知道原理的情況下我們自己也可以做出一個功能類似的東西來。但是又何必再造車輪呢?vld本身是開源項目,想要知道其實現(xiàn)的童鞋可以看看它的代碼哦。大致上似乎是基于VC++DEBUGER和CRT庫提供的檢測和定位內(nèi)存泄漏的工具,不過作為一個有歷史的開源項目,其功能自然沒有簡單到這種程度。
vld簡單易用,文檔也很豐富,對于內(nèi)存泄露的具體位置也能以調(diào)用堆棧的形式詳細的顯示出來。在代碼上的變動只需要簡單的加上#include 就可以了。集成起來也很方便,與其他的第三方庫沒有區(qū)別,而且它本身只工作在debug模式,release的時候根本就不會編譯,相當(dāng)之便利。不知道如何配置的童鞋可以參考下面的來做,注意更改成自己的vld安裝路徑就好:
下載Visual Leak Detector,當(dāng)前版本2.4,在Visual C++ IDE的"工具"→"選項"→"項目和解決方案"→"VC++ 目錄","包含文件"增加VLD的"\include"路徑,"庫文件"增加VLD的"\lib\Win32"路徑,另外動態(tài)庫"\bin\Win32"路徑在安裝時已經(jīng)添加到環(huán)境變量里面了,若是未添加,則需要手動拷貝"\bin\Win32"下的文件到工程Debug目錄。下