在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)
PHP性能之语言性能优化:vld——查看代码opcode的神器