zoukankan      html  css  js  c++  java
  • qtcreator VLD内存检测

    简介

    Visual Leak Detector是一款用于Visual C++的免费的内存泄露检测工具。相比较其它的内存泄露检测工具,它在检测到内存泄漏的同时,还具有如下特点:

    • 可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号;
    • 可以得到泄露内存的完整数据;
    • 可以设置内存泄露报告的级别;
    • 它是一个已经打包的lib,使用时无须编译它的源代码。而对于使用者自己的代码,也只需要做很小的改动;
    • 他的源代码使用GNU许可发布,并有详尽的文档及注释。对于想深入了解堆内存管理的读者,是一个不错的选择。

    下载安装

    安装包下载
    默认安装,注意勾选:

    配置

    VLD 内存检测工具,只能检测使用VC++编译器(即MSVC类型编译器, 如果有安装VS则就有这编译器),不能用于检测MinGW编译器。
    三种配置方式:

    第一种

    复制vld安装目录下include文件夹中的文件vld.h和vld_def.h到qt安装目录的include文件夹中。
    将“vld安装目录/lib/Win64"或者“vld安装目录/lib/Win32"(注意位数,根据你的Qt库位数确定)下的vld.lib拷贝到Qt默认的lib目录,就完成安装了。

    第二种

    修改.pro文件,添加如下内容:

    win32{
        CONFIG(debug, debug|release) {
        INCLUDEPATH += C:/software/VLD/include
        DEPENDPATH += C:/software/VLD/include
        LIBS += -LC:/software/VLD/lib/Win32 -lvld
        }
    }
    

    注意:

    • C:/software/VLD是自己的安装路径。
    • 配置完成后,重启qtcreator或者执行qmake。

    第三种

    直接在main.cpp 头部添加:

    #pragma comment(lib,"C:/software/VLD/lib/Win32/vld.lib")
    #ifdef _DEBUG
    #include "C:/software/VLD/include/vld.h"
    #endif
    

    测试使用

    建一个工程。在main.cpp中添加头文件。#include<vld.h>或者:

    #ifdef _DEBUG
    #include "vld.h"
    #endif
    

    其他代码如下:

    void test()
    {
        char *p = new char[5];
    }
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
        test();
    
        return a.exec();
    }
    

    输出:

  • 相关阅读:
    问题:plugin with id 'android' not found
    问题:plugin with id 'android' not found
    【NYOJ】[122]Triangular Sums
    【NYOJ】[122]Triangular Sums
    【NYOJ】[113]字符串替换
    【NYOJ】[113]字符串替换
    【NYOJ】[111]分数加减法
    【NYOJ】[111]分数加减法
    【NYOJ】[101]两点距离
    【NYOJ】[101]两点距离
  • 原文地址:https://www.cnblogs.com/chay/p/11526163.html
Copyright © 2011-2022 走看看