【C语言】“vid”Microsoft Visual Studio安装及应用(检验内存泄露)

文章目录


前言

我们在写代码时往往容易存在内存泄漏的情况,所以存在这样一个名为VLD的工具用来检验内存泄漏,现在我来教大家安装一下

安装包获取

vld下载网址:https://github.com/KindDragon/vld/releases/tag/v2.5.1

(可能不流畅)

所以我为大家提供了百度网盘链接:https://pan.baidu.com/s/1oimzadVJRuCffae7aIm4Og?

提取码:uiqq

这里面出了这个程序还有一个很好用的小软件Everything,等等要用

我们找到下载的应用程序,双击打开

接受并下一步

记住这里的安装位置,一般会默认安装到C盘的X86文件夹里,并且新建一个文件夹

之后一直NEXT直到安装完成

但我们直接使用会报错

配置VLD

我们用Everything 搜索 Microsoft Visual Studio 点击第一个什么都没有的文件夹,

然后按 Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519 的顺序找到目标文件夹

同时我们利用之前的记录的VLD 的地址去找它所在的文件夹,同样也可以用EverythingVisual Leak Detector去找到目标文件夹

第一步

Visual Leak Detector 文件夹里include 的文件全部赋值到Microsoft Visual Studio\2022 目标文件夹里的include文件夹里


第二步

再将Visio Leak Detectorlib 文件夹中的两个**.lib文件分别放在 VS2022 lib文件夹中:把 Win32中的 vld.lib文件放到 x86中,Win64中的的 vld.lib文件放到x64**中即可


完成

再次运行代码,<vld.h>不再报错,ctrl+F5即可

如果没有出现可以在 项目 -> 属性 面板栏里进行如下操作,


这里把笔者用到的代码放在这里,我们调出调试结果,直接翻到最后

csharp 复制代码
#define _CRT_SECURE_NO_WARNINGS  1
#pragma warning(disable:6031)
#include<stdio.h>
#include<stdlib.h>
#include<vld.h>




int main()
{
	//创建空间
	int** arr = (int**)malloc(3 * (sizeof(int*)));
	for (int i = 0; i < 3; i++)
	{
		arr[i] = (int*)malloc(5 * sizeof(int));
	}

	//设定值
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 5; j++)
		{
			arr[i][j] = 5 * i + j;
		}
	}

	//输出
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 5; j++)
		{
			printf("%-5d ", arr[i][j]);
		}
		printf("\n");
	}

	//释放空间
	//for (int i = 0; i < 3; i++)
	//{
	//	free(arr[i]);
	//	arr[i] = NULL;
	//}
	//free(arr);
	//arr = NULL;

	return 0;
}

可以发现确实说出了这里有4处内存泄漏,分别是 **arr 和 三个 *arr

相关推荐
aramae3 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
无敌贵点大王3 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
Logic1014 小时前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Escalating_xu8 小时前
【C 语言项目】数组和函数综合实践:从零实现控制台扫雷游戏
c语言
VIP_CQCRE11 小时前
在 Visual Studio 里接入 Ace Data Cloud:让 AI 编程助手直接用上 OpenAI 兼容接口
openai·ai编程·开发工具·visual studio·acedatacloud
Navigator_Z12 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode
Logic10112 小时前
C语言/数据结构滑动窗口题解:替换k个字符后的最长连续相同字符子串(LeetCode 424)
c语言·数据结构·字符串·滑动窗口·时间复杂度·频率统计·算法题
VIP_CQCRE13 小时前
在 Visual Studio 里接入 AI 编程助手:用 Ace Data Cloud 打通 OpenAI 兼容接口与 LMLocal
openai·ai编程·visual studio·acedatacloud·lmlocal
free-elcmacom13 小时前
发际线警告!手撕《C陷阱与缺陷》终极 BOSS:signal 函数与 typedef 魔法
c语言·开发语言·visual studio code·visual studio
haluhalu.14 小时前
初识 Protobuf:微服务跨语言通信的一份契约
java·c语言·开发语言·c++·python