!! vc C++ VS2017检查内存泄漏具体到某一行代码

VLD工具可以用来检查VS C++程序的内存泄露。

VLD官网:https://kinddragon.github.io/vld/

官网不方便下载的,可以用我的链接:https://pan.baidu.com/s/1-SiP9bYCfk67aUmKIOUwpQ 提取码:dvaw

下载安装VLD后会有 include, lib, bin,vlc.ini等文件。把include, lib, bin添加到程序中,如果是C++老鸟,应该不难。然后在代码中添加头文件 #include”vld.h” 即可, 例如下面的代码

#include
#include "vld.h"

#pragma comment(lib, "vld.lib")

int main()
{
    int *arr = new int[10];

    return 0;
}

数组arr没有被delete, 进程结束后,仍然有40个字节的内存片段泄露。把VLD bin目录除了dbghelp.dll的文件复制到程序可执行目录,去你的VS2017安装路径找到dbghelp.dll,例如我的路径:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\Extensions\Cpp\x64,把该路径的dbghelp.dll复制到程序可执行目录。

!! vc C++ VS2017检查内存泄漏具体到某一行代码

运行后,经过VLD检测,在VS的输出

!! vc C++ VS2017检查内存泄漏具体到某一行代码

直接定位出哪一行除了内存泄漏。该内容也可以写到文件中,在做压力测试时,可以比较直观的查看。把安装目录vld.ini复制到程序exe所在目录,查看ReportFile和ReportTo的配置,这英语不难,可以自行设置,如下:

; Sets the report file destination, if reporting to file is enabled. A relative
; path may be specified and is considered relative to the process’ working
; directory.

;
; Valid Values: Any valid path and filename.

; Default: .\memory_leak_report.txt
;
ReportFile = .\memory_leak123.txt
; Sets the report destination to either a file, the debugger, or both. If
; reporting to file is enabled, the report is sent to the file specified by the
; ReportFile option.

;
; Valid Values: debugger, file, both
; Default: debugger
;
ReportTo = file

测试时可以设为绝对路径,我这里设置的是相对路径,会跑到代码目录,如下图:

!! vc C++ VS2017检查内存泄漏具体到某一行代码

Original: https://www.cnblogs.com/carl2380/p/15905105.html
Author: 张纯睿
Title: !! vc C++ VS2017检查内存泄漏具体到某一行代码

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535026/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • C++引用 学习心得

    参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。 对于像 char、bool、int、float 等基本类型的数据…

    C++ 2023年5月29日
    069
  • VC++注册,卸载OCX控件,以及判断是否注册

    注册OCX控件 BOOL CYourClass::RegistOcx() HINSTANCE hLib = LoadLibrary(“NTGraph.ocx&#8221…

    C++ 2023年5月29日
    084
  • EclipseC++学习笔记-4 使用win11 wslg 启动应用

    wslg在win10下无法安装,升级win11后才可以基本按网上方法都能安装成功,但需要注意两点1、wsl –update2、如果启动程序不报错,但是不显示窗口的话 e…

    C++ 2023年5月29日
    042
  • Embarcadero 发布开源Bloodshed Dev C++ 分支

    Bloodshed Dev C++ 是一个老牌、小巧、快速的开源C++ IDE,它是用delphi 6开发的,从2000年开始 已经被下载过了67,796,885次。是学校、单位学…

    C++ 2023年5月29日
    060
  • 【面试攻略】C++面试-成都星合互娱

    2020-11-26-成都星合互娱 hr1.离职原因2.工作总结3.学历4.期望薪资 技术面1.自我介绍2.项目架构3.内存管理4.智能指针5.对象封装6.lua热更,热更对象的成…

    C++ 2023年5月29日
    067
  • Cannot find a C++ compiler that supports both C++11 and the specified C++ flags.

    Linux 安装 cmake 时候出现的问题,解决方法: yum install gcc-c++ Original: https://www.cnblogs.com/hunttow…

    C++ 2023年5月29日
    056
  • C++多线程库的常用模板类 std::lock_guard

    格式:类名 + 头文件 + 用例 + 解释说明 解释说明: C++标准库为互斥量提供了一个RAII语法的模板类 std::lock_guard,在构造时对互斥量上锁,并在析构的时进…

    C++ 2023年5月29日
    064
  • C/C++中的常量指针与指针常量(转)

    常量指针 常量指针是指向常量的指针,指针指向的内存地址的内容是不可修改的。 常量指针定义”const int p=&a;”告诉编译器,p是常量,不能将*p作…

    C++ 2023年5月29日
    042
  • C/C++标准新特性简介

    参考文档 C语言的起源发展 C语言诞生于1972年,美国贝尔实验室。作者为:Dennis MacAlistair Ritchie(丹尼斯·里奇) & Kenneth Lan…

    C++ 2023年5月29日
    083
  • C#与C++之间类型的对应

    Windows Data Type .NET Data Type BOOL, BOOLEAN Boolean or Int32 BSTR String BYTE Byte CHAR…

    C++ 2023年5月29日
    084
  • C++11 静态断言 static_assert

    我们知道,C++现有的标准中就有assert、#error两个方法是用来检查错误的,除此而外还有一些第三方的静态断言实现。 assert是运行期断言,它用来发现运行期间的错误,不能…

    C++ 2023年5月29日
    047
  • C++ 资源大全

    http://www.uml.org.cn/c++/201411145.asp http://ezlippi.com/blog/2014/12/c-open-project.htm…

    C++ 2023年5月29日
    052
  • 【转】c++ set的用法

    1、关于set C++ STL之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector,string,list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大…

    C++ 2023年5月29日
    050
  • C++11 列表初始化

    在我们实际编程中,我们经常会碰到变量初始化的问题,对于不同的变量初始化的手段多种多样,比如说对于一个数组我们可以使用 int arr[] = {1,2,3}的方式初始化,又比如对于…

    C++ 2023年5月29日
    053
  • clion运行单个c和c++文件(.c.cpp)

    运行方法 在clion中安装插件:C/C++Single File Execution 在要执行的cpp文件中添加main函数 在cpp文件的编辑器界面中点右键会出现【Add ex…

    C++ 2023年5月29日
    063
  • std::get<C++11多线程库~线程间共享数据>(10):使用互斥量保护共享数据(5)

    1 /* 2 * 话题1:使用互斥量保护共享数据 3 * 4 * 接下来学习第五个小话题:避免死锁的进阶指导 5 * 6 * 这一小节的内容,完全引用,只在最后补充上我对这部分的理…

    C++ 2023年5月29日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球