在 Windows 7 x64下,当我尝试使用最新版本的 Dependency Walker (2.2.6000) 分析x86可执行文件时,分析过程总是在某个点挂起。大多数情况下,加载的最后一个 DLL 是c:\windows\syswow64\URLMON.DLL
,因此该 DLL 中的某些东西似乎导致了问题。在 Windows 7 x86上分析相同的可执行文件可以完美运行。
我已经在谷歌上进行了广泛的搜索,但无法找到解决问题的方法。我发现的一个建议是卸载 IE 8 或 IE 9 并将其替换为 IE 7,但这并没有真正的帮助。我能观察到的唯一效果是,对于 IE 7,分析过程挂在不同的 DLL 上(iertutil.dll
如果我没记错的话,也来自系统的syswow64
文件夹)。
所以我的问题是:如何让 Dependency Walker 在 x64 Windows 7 上分析 x86 应用程序?当然,如果一开始就知道问题存在的原因也很好:-)
一些最后的笔记:
- 我正在使用 x86 版本的 Dependency Walker,因为我想分析 x86 可执行文件
- 以管理员身份运行 Dependency Walker 无济于事
- 所有标记为“可能在 WOW64 上失败”的分析选项都被禁用
- 我目前用作重现问题的测试用例的可执行文件是 Sumatra PDF 查看器(下载链接),因为它是一个简单的 .exe,不需要安装