Visual Leak Detector使用方法

Visual Leak Detector是一款免費的、健全的、開源的Visual C++內存泄露檢測系統。相比Visual C++自帶的內存檢測機制,Visual Leak Detector可以顯示導致內存泄露的完整內存分配調用堆棧。

主頁地址:http://vld.codeplex.com/

舊版地址:http://www.codeproject.com/Articles/9815/Visual-Leak-Detector-Enhanced-Memory-Leak-Detectio

github https://github.com/KindDragon/vld/releases/tag/v2.5.1 

       下載Visual Leak Detector,當前版本2.5.1,在Visual C++ IDE的"工具"→"選項"→"項目和解決方案"→"VC++ 目錄","包含文件"增加VLD的"\include"路徑,"庫文件"增加VLD的"\lib\Win32"路徑,另外動態庫"\bin\Win32"路徑在安裝時已經添加到環境變量裏面了,若是未添加,則需要手動拷貝"\bin\Win32"下的文件到工程Debug目錄。下面記錄下使用方法:

1.新建一個Win32控制檯項目;

2.添加代碼如下所示:

1
2
3
4
5
6
7
8
  #include "stdafx.h" 
#include "vld.h" 
 
int _tmain(int argc, _TCHAR* argv[]) 

    char *pBuf = new char[200]; 
    return 0; 

3.在Debug模式下的“輸出”窗口,將有如下信息:

報告列出了內存泄露是在第幾塊,所在的地址,泄露的字節,調用的堆棧,內存內容。雙擊調用堆棧可以跳轉到所在行。

4.在Release模式下,不會鏈接Visual Leak Detector。

5.Visual Leak Detector有一些配置項,可以設置內存泄露報告的保存地(文件、調試器),拷貝"\Visual Leak Detector"路徑下的vld.ini文件到工程的Debug目錄下(在IDE運行的話,則需要拷貝到工程目錄下),修改以下項:

ReportFile = .\memory_leak_report.txt 
ReportTo = both

直接雙擊Debug目錄下exe,結果如下圖所示:

文件內容跟“輸出”窗口的內容一樣。

轉自:https://www.cnblogs.com/lelezhangzhao/p/4733538.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章