【发布时间】:2014-11-28 17:47:46
【问题描述】:
我最近不得不重新安装 Windows 7 64(我的硬盘坏了),我正在使用 vc++ 2013 构建我的一个项目,但是当我运行它时,我得到一个 0xc000007b 错误
我发现 32 位应用程序的此错误通常是由于加载 64 位 dll 而不是 32 位版本
所以我试图弄清楚发生了什么,我尝试使用 Dependency Walker,但是当我用它打开我的 exe 时我看到的唯一错误是那些文件丢失:
API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
DCOMP.DLL
GPSVC.DLL
IESHIMS.DLL
我怀疑这是问题所在,这些错误似乎向很多人展示,我想我应该忽略它们
其余的 dll 似乎没问题,而且是 32 位的,所以看起来没问题
我尝试使用依赖项walker 上的分析选项找到更多信息,但它在加载一堆dll 后挂起,我怀疑分析日志中的任何信息是否有用,但我还是发布了它(我无法从Dependency Walker 窗口导致进程此时没有响应)
我在另一个堆栈溢出 post 中读到,这个问题可能会在我无法找到的 2.2.8288 版本的 Dependency Walker 中修复
我尝试卸载并重新安装 vs 2008/2010/2012/2013 可再发行包 x86/x64 以解决问题,正如其他帖子中关于此错误的建议,但没有奏效
目前我不知道如何弄清楚为什么会发生,任何提示都会有所帮助
编辑:
我尝试按照建议从 WDK 安装最新的 Dependency Walker 版本,但遇到了同样的问题
我也在尝试使用 Process Monitor,并且我有一个加载的 dll 列表。我使用在文件上运行 dumpbin 的脚本检查了列表以检查体系结构,只是为了确定,this 是结果,对我来说似乎没问题,唯一的 x64 dll 是 wow64 dll,应该没问题,我是俯瞰什么?
【问题讨论】:
-
不要使用 Depends,SysInternals 的 Process Monitor 可以显示它找到的 DLL。
-
最新的depends.exe (2.2.9600.0) 是Windows 8.1 WDK 的一部分
标签: visual-studio visual-c++ windows-7 windows-7-x64