解决vld内存泄露检测工具只支持到vs2015的问题,visual studio2015以上版本安装vld内存泄漏检测工具[实测vs2022生效]

news2024/9/28 13:20:04

目录

  • 一.vld工具下载
  • 二.vld应用安装
  • 三.visual studio2022环境配置
  • 四.visual studio2022 vld内存检测测试

一.vld工具下载

Visual Leak Detector github链接: https://kinddragon.github.io/vld/

下载直达链接: https://github.com/KindDragon/vld/releases/tag/v2.5.1

下拉至网页最低端,下载红色框选安装应用程序
在这里插入图片描述

二.vld应用安装

1.从下载路径中,找到vld-2.5.1-setup.exe应用程序,双击打开。
在这里插入图片描述
2.进入vld内存泄漏检测工具安装欢迎页面。点击“Next”。
在这里插入图片描述
3.选择“I accept the agreement”按钮同意协议,点击“Next”。
在这里插入图片描述
4.选择vld安装路径,建议默认路径,没多大没必要改,在此选择默认。点击“Next”。
在这里插入图片描述
5.确认路径信息,点击“Next”。
在这里插入图片描述
6.选择是否配置环境变量,安装到的vs版本,在此选择默认,即使想要安装的vs版本超过vs2015,也不用管,目的是安装上之后剪切.h文件和.lib文件。点击“Next”。
在这里插入图片描述
7.确认信息,点击“Install”。
在这里插入图片描述
8.点击安装后,由于没有安装vs2008-vs2015之间的版本,会弹出警告窗口,正常确认关闭或叉掉就可以了,让他正常安装进度条走完。
在这里插入图片描述
9.安装成功。点击“finish”退出。
在这里插入图片描述
10.进入自己前面选择的安装路径,能看到Visual Leak Detector文件夹。至此说明已经正确安装vld。
在这里插入图片描述

三.visual studio2022环境配置

1.进入到vld安装路径下Visual Leak Detector文件夹内,能看到以下文件。
在这里插入图片描述
2.打开其中include文件夹,复制文件夹内的两个vld.h、vld_def.h文件。
在这里插入图片描述
3.找到visual studio安装路径下的include文件夹所在位置。随意新建一个命令行应用项目,点击解决方案中----外部依赖项----随便一个.h文件----右键----属性—复制属性中的完整路径,我们需要路径下的include文件所在位置。
某些Visual Studio在文件右键时能够直接点“打开文件所在位置”,不需要点属性。注意自己打开的include路径中是否有VC、MSVC字样,避免找到其他文件夹中造成位置错误。
在这里插入图片描述
4.将复制的两个vld相关的.h文件粘贴到visual studio目录中inlcude文件夹中。
在这里插入图片描述
5.从当前include路径下,选择include路径的上级路径,进入该路径下的lib文件夹中。能看到x64 x86两个文件夹。
在这里插入图片描述
6.回到vld安装路径下,找到文件夹内lib文件夹。
在这里插入图片描述
7.lib文件夹中有两个子文件夹,分别为win32 win64文件夹,每个文件夹中都有一个.lib文件。
在这里插入图片描述
8.将win32文件夹内lib文件粘贴到visual studio安装目录下lib文件夹的x86文件夹中,将win64中的lib文件粘贴到vs目标lib文件夹中的x64文件夹内。
在这里插入图片描述
在这里插入图片描述
9.至此,vld和visual studio间的环境配置已经完成。

四.visual studio2022 vld内存检测测试

1.利用visual studio创建一个命令行应用工程用作vld内存泄漏检测的测试。从默认生成的main函数最上方包含vld.h头文件,从图中能看出,头文件还没敲完已经有了头文件选择提示。包含vld.h,正常是存在路径的,如果前面配置错误,那么就从属性----VC++ 目录----包含目录中,包含vld的inlcude文件夹路径。
在这里插入图片描述
2.注意vld只在debug环境下才生效,点击编译,输出命令行窗口,能后看出vld已经正常执行,当前运行没有内存泄漏。
在这里插入图片描述
3.main函数中动态分配一个double *a指针,不进行内存释放,在此编译,能够从命令行窗口中看出红色框选部分,存在1处泄漏,8bytes,刚好是我们没有释放的1个double大小。vld使用正常。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1407908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么计算数据的均值和方差

1. 前言 pytorch 跑深度学习数据集的时候,需要先将数据归一化,可以让网络更好的收敛。一般的均值和方差都是利用(灰度值 - 0.5 )/ 0.5 本章提供一个计算均值和方差的代码,供以后使用 2. 完整代码 代码如下&#xff…

大数据开发之Spark(累加器、广播变量、Top10热门品类实战)

第 3 章:累加器 累加器:分布式共享只写变量。(executor和executor之间不能读数据) 累加器用来把executor端变量信息聚合到driver端。在driver中定义的一个变量,在executor端的每个task都会得到这个变量的一份新的副本…

C++——结构体

1,结构体基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。像int(整型),浮点型,bool型,字符串型等都是属于系统内置的数据类型。而今天要学习的结构体则是属于我们自定义…

函数递归(Recursion)一篇便懂

递归的概念 在 C 语言中,递归(Recursion)是一种函数调用自身的编程技术。当一个函数在其定义中调用自身时,就称为递归函数。 了解递归思想 把⼀个大型复杂问题层层转化为⼀个与原问题相似,但规模较小的子问题来求解…

安卓开发之自动缩放布局

AutoScalingLayout 适用于 Android 的自动缩放布局。 替换布局: 我们只需要替换根布局所需的自动缩放,子布局也将实现自动缩放。 原始布局AutoScalingLayout相对布局ASRelativeLayout线性布局ASLinearLayoutFrameLayout(框架布局&#xff…

k8s部署Ingress

前提:有自备的域名,没有域名可用主机配置的域名解析代替测试 #主机配置的域名 vi /etc/hosts #追加以下内容 127.0.0.1 kuboard1、部署Ingress vi deploy.yaml #输入以下内容apiVersion: v1 kind: Namespace metadata:labels:app.kubernetes.io/instan…

基于springboot+vue的网上租赁系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

33岁前端干了8年,是继续做前端开发,还是转其他工作?

真心不建议在前端开发上终老,相信大家也发现了问题:前端的内容就那些,不管怎么搞都搞不过年轻人。 这个时候就要赶紧想办法为下一个十年做打算了,若是继续在前端开发岗上,过不了几年,要么会被边缘化&#…

微信小程序开发创建component组件,报错WXML file not found解决方案

报错如下: 解决方案: 在组件.json文件加上"styleIsolation": "apply-shared",:

【血泪】dell_smm_hwmon: unable to get SMM Dell signature-黑屏无法进入Ubuntu系统 - 问题解决

【问题描述】 昨天下午装了Ubuntu20.04系统,晚上装显卡驱动的时候,重启一下,直接黑屏了。如下图,一直卡着进不去。 于是反思,想起来每一次都是执行到:禁用nouveau 的这一步,之后就不能启动了。…

【Linux】常见指令(二)

前言 常见指令第二部分。 文章目录 一、指令&#xff08;下&#xff09;重定向>&#xff1a;输出重定向>>&#xff1a;追加输出<&#xff1a;输入重定向 10. more—显示文本文件内容11.less—逐屏浏览文本文件内容12. head13. tail管道 |14. date—时间指令在这里插…

C++ day 1

思维导图 使用C编写一个程序&#xff0c;输入一个字符串&#xff0c;统计大小写字母、数字、空格和其他符号的个数 #include <iostream>using namespace std;int main() {int capital 0;int lower 0;int digit 0;int spaces 0;int others 0;cout << "请…

【JavaEE进阶】 MyBatis使用XML实现增删改查

文章目录 &#x1f38d;前言&#x1f340;配置连接字符串和MyBatis&#x1f343;写持久层代码&#x1f6a9;添加mapper接⼝&#x1f6a9;添加UserInfoXMLMapper.xml&#x1f6a9;单元测试 &#x1f334;增(Insert&#xff09;&#x1f6a9;返回⾃增id &#x1f38b;删(Delete)&…

图书管理系统-Python

相关代码&#xff1a; # Time: 2024/1/23 16:16 # Author: 马龙强 # File: 图书管理系统.py # software: PyCharm class Book():def __init__(self,name,auther,status,bookindex):self.name nameself.auther autherself.status statusself.bookindex bookindexdef __str…

AI-数学-高中-8-函数奇偶性

原作者视频&#xff1a;函数】6函数奇偶性&#xff08;易-中档&#xff09;_哔哩哔哩_bilibili 示例&#xff1a; 已知奇偶性求解析式&#xff1a; 奇偶、单调函数综合示例&#xff1a;

【C++】c++入门,认识c++版本的Hello world!

Hello,everybody!在c语言&#xff0c;数据结构初阶学完之后&#xff0c;咱们就要开始c的学习了。关于c的语法&#xff0c;有很多是为了弥补c语言的不足。在咱们学习c的过程中&#xff0c;随着你对c语法掌握的越来越熟练。我相信你会逐渐爱上c。那我们直接进入正题。 1.c兼容c …

Beego之Beego MVC架构介绍

1、beego MVC架构介绍 beego 是一个典型的 MVC 框架&#xff0c;它的整个执行逻辑如下图所示&#xff1a; 通过文字来描述如下&#xff1a; 1、在监听的端口接收数据&#xff0c;默认监听在 8080 端口。 2、用户请求到达 8080 端口之后进入 beego 的处理逻辑。 3、初始化 C…

VS Code + Python + Selenium 自动化测试基础

五星上将麦克阿瑟曾经说过“不会写自动化测试&#xff0c;不是好开发“ 一、让我们来讲一个故事 今天和女朋友吵架了&#xff0c;&#xff08;假设你有女朋友&#xff09;。 今晚又是一个人睡沙发&#xff0c;这天晚上&#xff0c;你躺在沙发上&#xff0c;夜不能寐 因为&a…

openai assistants api接入微信机器人,实现类GPTs功能

chatgpt网址:https://chat.xutongbao.top 比普通gpt多了代码解释器功能&#xff0c;和上传训练数据文件的功能&#xff0c;这两个功能就是GPTs拥有的&#xff0c;而普通gpt没有拥有的

IaC基础设施即代码:Terraform 连接 tencentcloud COS 实现多资源管理

目录 一、实验 1.环境 2.Terraform 连接 tencentcloud 腾讯云COS 3.申请VPC专有网络资源 4.申请安全组资源 5.申请CVM资源 6.申请CLB资源 7.申请DNS资源 8.销毁资源 二、问题 1. Terraform申请安全组资源失败 2.Terraform验证云主机资源报错 3. A记录和CNAME的区别 …