記憶體洩漏檢測工具VLD在VS2010中的使用舉例

2021-09-07 19:01:37 字數 1864 閱讀 9741

visual leakdetector(vld)是一款用於visual c++的免費的記憶體洩露檢測工具。它的特點有:(1)、它是免費開源的,採用lgpl協議;(2)、它可以得到記憶體洩**的呼叫堆疊,可以獲取到所在檔案及行號;(3)、它可以得到洩露記憶體的完整資料;(4)、它可以設定記憶體洩露報告的級別。

預設情況下,只有在debug模式下才會啟用vld的功能。

在使用的時候只要將vld的標頭檔案和lib檔案放在工程檔案中即可。

在需要檢測記憶體洩露的原始檔中新增#include 「vld.h」

vld只能在windows下使用,它應用在c/c++語言中。

通過修改vld.ini檔案(reportfile選項),可以設定記憶體洩露報告的儲存位置。

vld好像對中文路徑不支援。

vld的各個版本對應適用於不同的vc/vs編譯器,注意選擇合適的版本。

2.          開啟vld_vs10.sln,在32位/64位下,分別編譯debug和release下vld工程,會在當前目錄下生成bin資料夾,裡面包含相應的庫檔案;

3.          新建控制台工程vldtest,在debug下執行,**如下:

stdafx.cpp:

#include "stdafx.h"

#ifdef _debug

#pragma comment(lib, "../../../src/vld/bin/win32/debug/vld.lib")

#else

//#pragma comment(lib, "../../../src/vld/bin/win32/release/vld.lib")

#endif

vldtest.cpp:

#include "stdafx.h"

#include "../../src/vld/vld.h"

#include

using namespace std;

void fun()

int main(int argc, char* ar**)

4.          執行提示,「無法啟動此程式,因為計算機中丟失vld_x86.dll」,解決方法,將bin/win32/debug/vld_x86.dll拷貝到vldtest執行目錄下或將vld_x86.dll路徑新增到系統環境變數中;

5.          執行提示,「應用程式無法正常啟動(0xc0150002)」,將源**中的/setup/dbghelp/x86資料夾下的dbghelp.dll和microsoft.dtfw.dhl.manifest兩個檔案拷貝到vldtest執行目錄下即可;

6.          直接按f5執行,可以在output視窗顯示記憶體洩漏的相關資訊,包括發生記憶體洩漏的檔名和行號,雙擊即可定位到記憶體洩漏的具體位置;

7.          或者直接執行,相關資訊可以顯示在命令列視窗中;

8.        也可將記憶體洩漏資訊寫入檔案中,將源**中的vld.ini檔案拷貝到vldtest工程目錄下,即與vldtest.vcxproj同目錄,修改vld.ini檔案中的選項引數,reportfile = .\../../../lib/dbg/x86_vc10/memory_leak_report.txt,reportto =both(原始reportto = debugger),重新執行後,會在執行目錄下生成乙個memory_leak_report.txt檔案;或者將vld.ini檔案拷貝到執行目錄下,執行vldtest[dbg_x86_vc10].exe檔案也可生成報告檔案;

9.          在release下執行,vld不起作用,vldtest工程不用作任何配置和調整;

圖中為執行測試**時顯示的記憶體洩漏資訊:

qt記憶體洩漏檢測 VLD記憶體洩漏檢測工具

vld記憶體工具可以為每個洩漏的塊提供完整的堆疊跟蹤,包括原始檔和行號資訊,從而快速找到記憶體洩漏點。注 僅支援windows平台。在main.cpp中新增 include後以除錯模式執行即可檢測記憶體洩漏。include int main int argc,char ar main.cpp 5 l...

記憶體洩漏檢測工具VLD在VS2010中的使用舉例

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!visual leakdetector vld 是一款用於visual c 的免費的記憶體洩露檢測工具。它的特點有 1 它是免費開源的,採用lgpl協議 2 它可以得到記憶體洩 的呼叫堆疊,可以獲取到所在檔案及行號 3 它可以得到洩露記憶體的完整資...

VLD 記憶體洩漏檢查工具

1.安裝vld 2.5.1 2.配置依賴庫,工程新增路徑。additional include directories soup visual leak detector include additional depandencies soup visual leak detector lib wi...