Visual Leak Detector工具分析内存泄漏

在近期开发过程中,检测到程序在运行过程中出现内存渐变增长,长时间(48小时以上)运行后程序的内存占用从开始的几十兆增长至几百兆。因此尝试通过一些方式解决之。
VLD(Visual Leak Detector)是一款开源的内存检测工具,在Visual Studio C++中使用,本文从编译VLD开始记录该工具的使用方法。
github:https://github.com/KindDragon/vld(源码迁移后可以通过VS编译可执行文件), 也可以在官网下载:Visual Leak Detector | Enhanced Memory Leak Detection for Visual C++ (kinddragon.github.io) 。
下载后有一个可执行文件用来安装生成需要的库和头文件信息,生成的文件信息如下,分别是需要的库、头文件和配置文件。 Visual Leak Detector工具分析内存泄漏_第1张图片
安装完成后,将头文件和lib静态库文件放到VS的安装目录下,以便在自己的程序中能够引用到。
使用方法参考:https://zhuanlan.zhihu.com/p/357000518
在自己的程序中如果需要检测内存泄漏情况,在源文件的顶部添加:
#inlcude
在程序结束后,会显示内存泄漏的信息。
通过在生成的vld配置文件中修改,数据显示可以打印在输出窗口中,也可以以文件方式输出。默认窗口输出。
如下图所示可直接定位到具体的函数接口。
但不一定就是真的有泄漏,有动态内存申请的地方工具都视为有泄漏。分具体情况分析。
Visual Leak Detector工具分析内存泄漏_第2张图片

你可能感兴趣的:(语法编程,microsoft,c++,windows)