windows内存泄露检测

本人微信公众号:CPP进阶之旅
如果觉得这篇文章对您有帮助,欢迎关注 “CPP进阶之旅” 学习更多技术干货

一、VLD简介

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

  • [1] 可以得到内存泄漏点的调用堆栈,还能得到其所在文件及行号(Visual studio在输出的调试信息里直接双击即可定位到内存泄漏的位置);
  • [2] 可以得到泄露内存的完整数据;
  • [3] 可以设置内存泄露报告的级别;

  它是一个已经打包的 lib,使用时无须编译源码。对于使用者自己的代码,只需要做很小的改动;源码使用 GNU 许可发布,并有详尽的文档及注释。对于想深入了解堆内存管理的读者,是一个不错的选择。VLD 简单易用,只需要做很小的改动(添加库、包含头文件),然后正常运行自己的程序,就可以用来发现内存问题了。如果深入源码,可以学习到堆内存分配与释放的原理、内存泄漏检测的原理及内存操作的常用技巧等。
  对于高版本的vs可以通过配置工程属性的方式,设置一下,防止不能定位到内存泄漏的具体行号。安装完成后,会自动将其include目录添加到VS的附加安装目录,将其静态库目录(lib目录)添加到VS的附加库目录,无需手动添加include目录和lib目录。

二、测试代码

/*
** vld官网地址:
** https://kinddragon.github.io/vld/
*/
#include <iostream>
#include <vld.h>
using namespace std;
void Func(){
    
    
    shared_ptr<int> num (new int[10]);
    //int * m_data = new int[100];
}
int main()
{
    
    
    Func();
    return 0;
}

在这里插入图片描述

三、重要说明

欢迎关注我的个人微信公众号,查看专业的客户端/服务端开发知识、笔试面试题目、程序员职场经验与心得分享。
在这里插入图片描述

vld官网地址:https://kinddragon.github.io/vld/
vld下载地址:https://download.csdn.net/download/siyacaodeai/15047978

猜你喜欢

转载自blog.csdn.net/siyacaodeai/article/details/113647234
今日推荐