最近更换了开发环境:win7 64位系统,开发工具VS2008 VS2010 下的mfc、ATL开发,以前在xp下使用VLB做内存方面的检测一点问题也没有,今天去官网下载了最新版本的VisualLeakDetector(v2.3),安装完成后开始调试程序,在debug下编译程序没有问题,一旦F5就出现“应用程序正常启动失败(0xc0150002)”的错误提醒,关闭此对话框后在vs的输出窗口可以发现以下提示语句:XXXX has exited with code-1072365566 (0xc0150002),在http://blog.csdn.net/fan_hai_ping/article/details/8023433处找到解决方法,需要将Visual Leak Detector\bin\Win32(or 64)目录下的Microsoft.DTfW.DHL.manifest文件拷贝到执行程序下即可解决,特此记录。
还有一点需要说明以下,在安装VisualLeakDetector以后默认情况下会向系统环境变量Path中添加vld的路径为C:\Program Files (x86)\Visual Leak Detector\bin\Win32;C:\Program Files (x86)\Visual Leak Detector\bin\Win64,此路径只包含dll文件,还需要将include目录下的头文件拷贝到vc目录下如X:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include和lib目录下的连接文件拷贝到vc目录下如X:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib,只需要在项目的stdafx.h中添加以下代码就可以了
//内存检查
#ifdef _DEBUG // 内存泄漏检测支持。
#include "vld.h"
#endif // _DEBUG