使用Dependency Walker对x86可执行文件进行性能分析在Windows 7 x64上挂起 [英] Profiling x86 executable with Dependency Walker hangs on Windows 7 x64

查看:323
本文介绍了使用Dependency Walker对x86可执行文件进行性能分析在Windows 7 x64上挂起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Windows 7 x64 下,当我尝试使用最新版本的Dependency Walker(2.2.6000)对 x86 可执行文件进行配置时,分析过程始终挂在某个特定位置.观点.大多数情况下,最后一个加载的DLL是c:\windows\syswow64\URLMON.DLL,因此该DLL中的某些东西似乎引起了问题.在Windows 7 x86 上对同一可执行文件进行性能分析是完美的.

Under Windows 7 x64, when I try to profile an x86 executable with the latest version of Dependency Walker (2.2.6000) the profiling process always hangs at a certain point. Most of the time the last DLL that is loaded is c:\windows\syswow64\URLMON.DLL, so it seems that something inside that DLL is causing a problem. Profiling the same executable on Windows 7 x86 works flawlessly.

我已经在Google上进行了广泛的搜索,但是无法提出解决方案.我发现的一个建议是卸载IE 8或IE 9并将其替换为IE 7,但这并没有真正的帮助.我可以观察到的唯一效果是,使用IE 7时,性能分析过程挂在了另一个DLL(iertutil.dll,如果我没记错的话,也来自系统的syswow64文件夹).

I have googled quite extensively, but couldn't come up with a solution to the problem. One suggestion that I found was to uninstall IE 8 or IE 9 and replace it with IE 7, but this doesn't really help. The only effect that I can observe is that with IE 7 the profiling process hangs at a different DLL (iertutil.dll, if I remember correctly, also from the system's syswow64 folder).

所以我的问题是:如何获得Dependency Walker来分析x64 Windows 7上的x86应用程序?当然,首先知道为什么会出现问题也是很高兴的:-)

So my question is: How can I get Dependency Walker to profile x86 applications on x64 Windows 7? Of course, it would also be nice to know why the problem exists in the first place :-)

一些最后的注意事项:

  • 我使用的是x86版本的Dependency Walker,因为我想分析x86可执行文件
  • 以管理员身份运行Dependency Walker并没有帮助
  • 所有标记为在WOW64上可能失败"的分析选项均已禁用
  • 我目前作为测试用例来再现该问题的可执行文件是Sumatra PDF查看器(
  • I am using the x86 version of Dependency Walker because I want to profile an x86 executable
  • Running Dependency Walker as administrator does not help
  • All profiling options marked as "may fail on WOW64" are disabled
  • The executable I am currently using as a test case to reproduce the problem is the Sumatra PDF viewer (download link) because it is a simple .exe that does not need installation

推荐答案

根据@Stone Free的评论更新的说明

您所需的下载链接已更改为:

The download link you need has changed to:

https://www.microsoft.com/zh-CN -us/download/details.aspx?id = 42273

转到 2.安装WDK 10 部分,然后选择下载:

Go down to the 2. Install WDK 10 section and select the download:

在第2阶段中找到并运行Wdk安装程序( wdksetup.exe ),然后选择下载选项,而不是安装.

Locate and run the Wdk setup (wdksetup.exe) from stage 2, then choose the download option rather than install.

完成后找到并运行 DownloadLocation \ Windows Kits \ 10 \ WDK \ Installers>"Windows Driver Kit-x86_en-us.msi"

然后您将在以下位置找到Dependency Walker:

Then you will find Dependency Walker at:

  • 用于64位版本的C:\ Program Files(x86)\ Windows Kits \ 10 \ Tools \ x64 \ depends.exe
  • 对于32位版本的
  • C:\ Program Files(x86)\ Windows Kits \ 10 \ Tools \ x86 \ depends.exe
  • C:\Program Files (x86)\Windows Kits\10\Tools\x64\depends.exe for the 64 bit version
  • C:\Program Files (x86)\Windows Kits\10\Tools\x86\depends.exe for the 32 bit version

哪个是Dependency Walker 2.2.10011版本(建于2015-10-29)

Which is Dependency Walker version 2.2.10011 built 2015-10-29

一个方便的工具是使用 https://github.com/juntalis/depends-launcher是Dependency Walker的简单启动器,它确定Windows映像(dll,exe等)的平台(x86 | x64 | ia64)并启动适当版本的depends.exe以查看其依赖项.它的主要目的是在上下文菜单项中使用,以轻松查看图像的依赖性.

A handy tool is to use https://github.com/juntalis/depends-launcher which is a simple launcher for Dependency Walker that determines the platform (x86|x64|ia64) of an windows image (dll, exe, etc) and launches the appropriate version of depends.exe to view its dependencies. It's main purpose is for use in a context menu entry to easily view an image's dependencies.

这篇关于使用Dependency Walker对x86可执行文件进行性能分析在Windows 7 x64上挂起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆