简介

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();
}

输出:

qtcreator VLD内存检测的更多相关文章

  1. Visual Leak Detector 2.2.3 Visual C++内存检测工具

      Visual Leak Detector是一款免费的.健全的.开源的Visual C++内存泄露检测系统.相比Visual C++自带的内存检测机制,Visual Leak Detector可以显 ...

  2. CPP内存检测

    对C.C++的内存泄露.内存溢出等检查,经过这两天的查资料,总体来说可以使用Valgrind, AddressSanitizer, Dr.Memory等.其中Valgrind对程序运行速度影响较大,运 ...

  3. Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)

    专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob.Redzone.Padding. Linux常见的内存访问错误有: 越界访问(out of bound ...

  4. Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)【转】

    转自:https://www.cnblogs.com/arnoldlu/p/8568090.html 专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob. ...

  5. valgrind内存检测工具

    valgrind 那点事 ---------------------------------------内存检测工具 valgrind要使用此工具,可以使用--tool=memcheck 在Valgr ...

  6. 基于链表的C语言堆内存检测

    说明 本文基于链表实现C语言堆内存的检测机制,可检测内存泄露.越界和重复释放等操作问题. 本文仅提供即视代码层面的检测机制,不考虑编译链接级的注入或钩子.此外,该机制暂未考虑并发保护. 相关性文章参见 ...

  7. Android 内存泄露总结(附内存检测工具)

    https://segmentfault.com/a/1190000006852540 主要是分三块: 静态储存区:编译时就分配好,在程序整个运行期间都存在.它主要存放静态数据和常量. 栈区:当方法执 ...

  8. 内存测试——Android Studio自带内存检测功能

    AndroidStudio 自带 CPU 和内存检测工具,绘制出变化图,可以直观明了的看出内存和cpu的变化曲线. 手机连接电脑,选择要调试的手机,选择要检测的应用进程,Memory是内存监控,CPU ...

  9. 【调试】Linux下超强内存检测工具Valgrind

    [调试]Linux下超强内存检测工具Valgrind 内容简介 Valgrind是什么? Valgrind的使用 Valgrind详细教程 1. Valgrind是什么? Valgrind是一套Lin ...

随机推荐

  1. Oracle工具PLSQL

    2018版的PLSQL美化工具在Tools中的PL/SQL Beautifier中 如下:

  2. ESA2GJK1DH1K升级篇: 快速的移植升级程序到自己的项目(APP用户程序制作)

    前言 用户程序比较简单,但是起着至关重要的作用 用户程序是和BootLoader程序相互配合的 拷贝文件到自己的项目 APP用户程序的 stmflash.c stmflash.h 和 上一节的Boot ...

  3. NET日记

    NET日记 NET——day01:https://www.cnblogs.com/noonjuan/diary/2019/07/29/11265942.html NET——day02:https:// ...

  4. Spring Boot 2.2.0,性能提升+支持Java13

    随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0.下面就来一起来看看这个版本都更新了些什么值得我们关注的内容. ...

  5. 公告&留言板

    这里是公告&留言板.无意义的评论可能会被删除. 2019.10.4 感觉开学之后状态一直都布星啊,可能会在博客里总结一些前面学的东西. 2019.10.14 咕咕咕咕咕咕咕咕 2019.10. ...

  6. Linux性能优化实战学习笔记:第三十一讲

    一.上节回顾 上一节,我们一起回顾了常见的文件系统和磁盘 I/O 性能指标,梳理了核心的 I/O 性能观测工具,最后还总结了快速分析 I/O 性能问题的思路. 虽然 I/O 的性能指标很多,相应的性能 ...

  7. scss 入门基础

    在一个项目中,样式是必不可少的一部分,而对于一个完整的项目来说是有个基准色调的.在项目需求变化不大的情况下,可以直接在css中写这些颜色值之类的东西.但是如果遇到一个朝令夕改的领导或者甲方,那会变得相 ...

  8. python3 获取当前日期的时间戳,以及n天后的日期时间戳

    #coding=utf- import time import datetime t=datetime.datetime.now() #当前日期 t1 =t.strftime('%Y-%m-%d 00 ...

  9. linux-根目录添加内存

    01,添加磁盘到服务器 02, 查看添加的内容 这个是新添加的 03, 创建新分区 [root@oracle01 ~]# fdisk /dev/sdb --格式化分析 Welcome ). Chang ...

  10. SpringCloud Feign 参数问题

    今天遇到使用Feign调用微服务,传递参数时遇到几个问题 1.无参数 以GET方式请求 服务提供者 @RequestMapping("/hello") public String ...