使用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++的請先安裝!