在Release版本下使用VLD

Posted lidabo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Release版本下使用VLD相关的知识,希望对你有一定的参考价值。

前提

同Debug版本在VC中配置好VLD的相关信息,拷贝
Visual Leak DetectorinWin32目录下所有的文件和vld.ini到工程目标路径下。

强制检测

在程序入口处的cpp中,定义强制检测宏和包含vld头文件

#define VLD_FORCE_ENABLE
#include "vld.h"

在程序启动和退出时,分别增加以下函数调用

{
    ...
    VLDGlobalEnable();
    VLDReportLeaks();
    //some code...
    VLDGlobalDisable();
}

增加检测模块

以上配置后,默认情况下只会检测主程序的模块,要想增加其他模块的内存泄露检测,需要配置vld.ini文件中的ForceIncludeModules,多个模块用";"分隔,如:
ForceIncludeModules = demo1.dll;demo2.dll

配置输出方式

默认只会在调试下的终端中打印内存泄露信息,可配置vld.ini文件中的ReportTo为both,这样可以同时想终端和文件中打印信息,如:
ReportTo = both



作者:龙翱天际
链接:https://www.jianshu.com/p/1fb05cfdc76d
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

以上是关于在Release版本下使用VLD的主要内容,如果未能解决你的问题,请参考以下文章

vld for memory leak detector (release version)

LINUX下PHP安装VLD扩展并测试OK

PHP性能之语言性能优化:vld——查看代码opcode的神器

在VS2017中配置VLD(Visual Leak Detector)内存泄漏检测工具

安装与使用vld查看php的opcode代码

Visual Leak Detector配置项 VLD