記憶體流失偵查工具Visual Leak Detector for VC++的使用

來源:互聯網
上載者:User

Visual Leak Detector簡稱VLD,我所下載的版本為1.9d,支援VC6, VC7(2003), VC8(2005),開源,可以根據源碼自行編譯, 64位機器下可以自己編譯位64位的使用,不過在我的機器下(64位CPU, 64位Windows7)沒有單獨編譯為74位也可以使用。


VLD只針對程式的Debug版本有效,對Release版本無效,因此在發布版本中可以不管該代碼的引入,因為不會有任何作用,可放心使用。


:http://www.codeproject.com/Articles/9815/Visual-Leak-Detector-Enhanced-Memory-Leak-Detectio;


使用方法:

以VS2005為例,工具---選項---項目和解決方案---VC++目錄:①包含檔案:添加目錄,為安裝目錄下的include檔案夾,並將該條目錄移動到列表的最後一條  ②庫檔案:添加目錄,為安裝目錄下的lib檔案夾,同樣移動到最後一條。 ③然後在將要使用該工具的一個或多個C/C++源檔案中添加標頭檔#include "vld.h"即可,需要注意的是:該標頭檔要放在所有先行編譯標頭檔之後,比如stdafx.h等,也可以放入該先行編譯標頭檔stdafx.h,而在源檔案中引入該先行編譯標頭檔即可,該vld.h可以在多個源檔案或普通標頭檔中引入,比如在a.h和b.h中都引入vld.h,有多個源檔案引入了a.h和b.h,那麼在進程中只有一份vld.h的代碼,而不會有副作用(僅對1.9d版本,其他版本不詳)。


另:在安裝目錄下的vld.ini下的參數意義以及包括但不限於本文中提到的內容在安裝目錄下的readme中都有詳細說明。


VLD還提供了幾個簡單的API來給使用者使用,如下:

void VLDDisable (void);          //使記憶體流失檢測失效

void VLDEnable(void);            // 使記憶體流失檢測有效

eg.

在output視窗中的內容:


關於其他VS版本的支援:在VS2010的增益集管理器中搜尋visual leak detector,可以搜到到該外掛程式,該外掛程式的說明是for VS2008/2010/2012,因此,如果使用這些版本的VS可以用這種方式嘗試。


  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.