电竞比分网-中国电竞赛事及体育赛事平台

分享

VS內(nèi)存泄漏工具Visual Leak Detector2.5.1安裝與使用

 行走在理想邊緣 2019-07-17

Visual Leak Detector

內(nèi)存泄漏一直是一個令人頭疼的問題,Visual Leak Detector工具在處理內(nèi)存泄漏時(shí)非常好用,官網(wǎng)可以直接點(diǎn)擊這里,簡單介紹一下Visual Leak Detector。
Visual Leak Detector是一個開源的,免費(fèi)的,健壯的又使用起來很簡單的內(nèi)存泄漏檢測系統(tǒng),支持vs2008-vs2015,支持C和C++的工程。
使用起來只需要簡單的在工程中加入:

#include <vld.h> 

下載與配置

現(xiàn)在的最新版是2.5.1,下載完成之后直接一鍵安裝,安裝的時(shí)候會提示是否要配置vs,勾選的話,安裝過程會直接配置好vs和path環(huán)境變量:

這里寫圖片描述

這里寫圖片描述
這里寫圖片描述
x64也配置了對應(yīng)的路徑。
打開安裝路徑下的vld.ini文件,將ReportTo設(shè)置為both,為了在非bebug下也能看到檢測結(jié)果,注意文件的寫入權(quán)限,不然不可以寫入

測試程序

我們寫一段會發(fā)生內(nèi)存泄漏的代碼:

#include<vld.h>
#include<stdlib.h>
#include<stdio.h>

char* f()
{
    char *p = new char;
    return p;
}

int main()
{
    for(int i =0;i<100;i++)
       char *pBuf = f();
    return 0;
}

但是這段代碼在vs2015里面會報(bào)錯,這是因?yàn)長eak Detector需要#include "stdafx.h" ,但是我們并不需要預(yù)編譯頭文件,所以要在“屬性→C/C++→預(yù)編譯頭→預(yù)編譯頭”中刪除stdafx.h,注釋#include "stdafx.h" ,代碼就可以正常運(yùn)行了。

結(jié)果分析

運(yùn)行程序后,會在控制臺上顯示:

這里寫圖片描述
并在工程路徑下生成一個“memory_leak_report.txt”文件,打開之后可以看到:
這里寫圖片描述
他在提示我們cpp文件的line 8和line 15出現(xiàn)了內(nèi)存泄漏情況,至此Visual Leak Detector就安裝成功了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多