@[TOC](VLD 在VS2019中编译通过,但调试时报 应用程序无法正常启动(0xc0150002))
背景
Visual LeakDetector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。
但是在使用时可能会发生一些错误,可能是因为VLD的版本问题。
错误描述
有时候项目运行时会发生以下两个错误:
1、运行提示,“无法启动此程序,因为计算机中丢失vld_x64.dll”
2、运行提示,“应用程序无法正常启动(0xc0150002)”
今天再次使用发现启动一直报错,然后翻阅以前使用的案例发现有几个dll没有添加,原来是依赖项不全。
以前没有发现这个问题是由于安装的vld,本次只是把include和lib dll直接拿过来使用所以会有一些依赖性丢失导致报错。
解决办法
现在说一下前面两个错误的解决办法,
错误一(这个很好解决):
就是找不到vld_x64.dll,把它放到当前搜索路径下,或者把它的路径添加到项目属性中。
错误二(困扰很久):
出现“应用程序无法正常启动(0xc0150002)”一般就是项目运行依赖的dll文件出现问题(使用重新编译生成的dll一般就可以了)。
在VLD安装路径下找到dbghelp.dll和 Microsoft.DTfW.DHL.manifest两个文件拷贝到执行目录下即可。
不成功的话,卸载VLD重新安装。然后再拷贝到工程outdir目录下,就可以顺利使用了