VC++ 应用程序无法正常启动0xc0150002
使用VC++开发软件,编译后的程序打不开,弹出错误框:
使用Dpends Walker查看依赖项,没有什么异常。
然后,右键“计算机”,选择“管理”,打开计算机管理,在左侧树形结构中,选择“系统工具 -> 事件查看器 -> Windows日志 -> 应用程序”,找到最近事件的应用程序错误:
错误就发生在vld_x86.dll上,该dll与应用程序在同一目录下,XML描述如下:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> - <System> <Provider Name="SideBySide" /> <EventID Qualifiers="49409">33</EventID> <Level>2</Level> <Task>0</Task> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2016-11-28T07:20:04.000000000Z" /> <EventRecordID>8786</EventRecordID> <Channel>Application</Channel> <Computer>Michael</Computer> <Security /> </System> - <EventData> <Data>Microsoft.DTfW.DHL,processorArchitecture="x86",type="win32",version="6.11.1.404"</Data> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data>D:\*\vld_x86.dll</Data> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> <Data /> </EventData> </Event>
该dll是使用Visual Leak Detector for Visual C++ 运行时要依赖的dll,发现是拷贝过来的文件不全,缺一个清单文件(Microsoft.DTfW.DHL.manifest),最好将下列三个文件(C:\Program Files (x86)\Visual Leak Detector\bin\Win32)全部拷贝过来:
- dbghelp.dll
- Microsoft.DTfW.DHL.manifest
- vld_x86.dll
备注:未安装Visual Leak Detector for Visual C++的请先安装!
希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯分享时的吝啬。