目录
一、内存泄漏问题
内存泄露是经验不足的程序猿最常遇到的,非常难处理的一类型错误。导致的问题也千奇百怪,很难定位。
最好的办法当然是养成良好的编码习惯,比如声明了指针数据或者指针类之后。
1.优先在对应的构造函数中,赋初值pXXX = nullptr;
2.牢记在指针使用完成之后进行if(e!= nullptr){delete e; e=nullptr;} 或者if(e!= nullptr){delete []e;e=nullptr;}
3.局部变量问题,在某个函数中new出了指针数据或者指针类,那么请牢记在当前函数退出的任何一个地方,请如2所说,安全删除指针数据或者指针类。
4.尽可能使用vector来代替指针数组,多重指针等。避免出差错的可能性。
但是,如果问题已经积累比较久,还有你可能接手了别人的代码,发现此类问题。那么,可以使用内存泄露检测工具VLD(Visual Leak Detector)来协助排查问题。
二、VLD工具使用说明
1 下载VLD
到GitHub下载最新的VLD程序Release v2.5.1 · KindDragon/vld (github.com)。页面最下方

2 安装VLD
安装到自己喜欢的路径即可,比如D:\Program Files\Visual Leak Detector。
3 使用VLD(第一个种方法)
3.1 附加头文件目录
因为安装VLD的exe后,系统继承了VLD对应的环境变量路径。
下图中,如果能看到第二个箭头这里,有继承的值,可以直接勾选第三个箭头即可。

3.2 附加库目录。
因为安装VLD的exe后,系统继承了VLD对应的环境变量路径。
下图中,如果能看到第二个箭头这里,有继承的值,可以直接勾选第三个箭头即可。

本文介绍了如何利用Visual Leak Detector (VLD) 工具来检测和解决C++程序中的内存泄漏问题。首先,从GitHub下载并安装VLD,然后通过附加头文件和库目录设置在Visual Studio中使用。在程序入口包含vld.h头文件,并在Debug模式下运行,VLD会在输出窗口显示内存泄漏信息,帮助程序员定位问题。注意,确保在执行程序的目录下有必要的支持文件,并了解vld.ini配置文件的参数设置。
2万+

被折叠的 条评论
为什么被折叠?



