記憶體洩露檢測工具 Visual Leak Detector for Visual C++ 2008/2010

pamxy發表於2013-05-10

轉自:http://blog.csdn.net/ysysbaobei/article/details/8082508

工程目錄路徑不能包含中文名、Microsoft.DTfW.DHL.manifest必須要


http://blog.csdn.net/xinyaping/article/details/6751940

http://blog.csdn.net/hunter8777/article/details/6330531

Visual Leak Detector是一款免費的檢查記憶體洩露的工具。最新的2.2.3版本可以很好的支援VS2008/2010。

點選 http://visualstudiogallery.msdn.microsoft.com/7c40a5d8-dd35-4019-a2af-cb1403f5939c

http://vld.codeplex.com/releases/view/82311這裡下載

 

安裝後,

1、在VS中設定Tool->Options 選擇Projects and Solutions中的VC++ Directories ->在Include Files和Library Files下(右上角:顯示以下內容的目錄下),將Visual Leak Detector安裝路徑中的include(C:\Program Files\Visual Leak Detector\include)lib(C:\Program Files\Visual Leak Detector\lib\Win32)路徑分別新增進去

2、將安裝路徑(C:\Program Files\Visual Leak Detector\bin\Win32)下bin裡的相應dll(vld_x86.dll、dbghelp.dll、Microsoft.DTfW.DHL.manifest)拷貝至debug目錄下。

建立一個簡單的工程,其中指標b所指向的記憶體沒有被正確地釋放。

  1. void leak()  
  2. {  
  3.     int *b = new int[10];  
  4.     for (int i = 0; i < 10; ++i)  
  5.     {  
  6.         b[i] = i;  
  7.     }  
  8. }  
  9.   
  10.   
  11. int main()  
  12. {  
  13.     leak();   
  14.     return 0;  
  15. }  

#include <vld.h>,執行就能在output視窗看到效果啦,放在stdafx.h後,其他之前

 

輸出的部分主要分為兩塊

Call Stack部分:

是洩露記憶體的呼叫堆疊,其中顯示了洩露資源建立的位置,雙擊便可以定位到相應的程式碼部分。

Data部分:

即使洩露部分的記憶體內容。

------程式關閉,在輸出中看到記憶體有無洩漏資訊


相關文章