24

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.

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).

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 :-)

Some final notes:

  • 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
skaffman
  • 398,947
  • 96
  • 818
  • 769
herzbube
  • 13,158
  • 9
  • 45
  • 87
  • 1
    I have the same issue when I try to profile Excel depends take 100% CPU load. I am on Windows 8.1 x64 profiling Excel 2013 x86. I tried both dependency walker 2.2 from http://dependencywalker.com/ and from WDK 8.1 – Damian Nov 11 '16 at 08:16

4 Answers4

17

Updated instruction based on @Stone Free's comments

The download link you need has changed to:

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

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

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

Once completed locate and run DownloadLocation\Windows Kits\10\WDK\Installers>"Windows Driver Kit-x86_en-us.msi"

Then you will find Dependency Walker at:

  • 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

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

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.

Tyler Szabo
  • 986
  • 1
  • 7
  • 23
Sam
  • 1,509
  • 3
  • 19
  • 28
  • 5
    I wonder why the developer doesn't update his own website. I don't think I would've gotten the new version if it wasn't for this comment and some google search. – Sossenbinder Sep 28 '16 at 12:54
  • 4
    As of Oct 26th 2016 the above procedure does not install depends.exe; Tools\x64 and Tools\x86 are created but neither of them contain depends.exe :-( – JonP Oct 25 '16 at 13:17
  • 3
    So since the WDK 10 doesn't include dependency walker I downloaded **WDK 8.1 Update (for Windows 8.1, 8, and 7 drivers)**, which you will find further down the same URLs given by Sam. This one does include depends.exe (version 9600) and, for me at least, fixes the hang problem reported by the OP. BTW the version you can download from www.dependencywalker.com is ancient (version 6000). – JonP Oct 26 '16 at 11:50
  • Well that's disappointing! Can you please edit this answer with your updates? Thanks – Sam Oct 29 '16 at 01:11
  • 14
    You can still get WDK 10.0.10586 with depends.exe here http://download.microsoft.com/download/C/E/1/CE19C726-6036-4443-845B-A652B0F48CD7/wdk/wdksetup.exe – Ringo Nov 18 '16 at 07:14
  • 3
    Ugh - the installation at link provided by @Ringo does not install Dependency Walker for me (as of April 2018). – Dan Nissenbaum Apr 27 '18 at 16:58
  • 2
    As of 18 Sep 2018 all the Microsoft links on this page point to Windows Driver Kit 10.0.10586.0 which, as others have indicated, does not include "depends.exe" anywhere. This link points to 8.1: https://www.microsoft.com/en-us/download/details.aspx?id=42273 – Pierre Sep 18 '18 at 16:51
  • However, attempting to install "wdksetup.exe" from the 8.1 link results in an error "Error 0x80091007: Failed to verify hash of payload: package_WindowsDebuggingWDKIntegrationx86_en_us" – Pierre Sep 18 '18 at 17:13
  • 1
    the above link (8.1 Kit) does install the version 2.2.9600 – vlad_tepesch May 23 '19 at 09:17
  • 1
    this development blog mirrors the current versions: https://zzz.buzz/2017/05/18/download-dependency-walker/ - however not a official Microsoft Site - so use it at own risk – vlad_tepesch May 23 '19 at 10:19
  • June 2023: Links from the answer and from Ringo's and Pierre's comments are all 404. The link from zzz.buzz works, see [other answer by vlad_tepesch](https://stackoverflow.com/a/56275682/512728) – Jan Doggen Jun 02 '23 at 06:56
6

The latest currently known version of Dependency Walker seems to be the 2.2.10011 from 2015-10-29 (links below).

It was deployed with some Windows Development Kit for Windows 10 but the version that it contained is not available anymore from the Microsoft Pages and all the newer Versions does not contain it anymore for unknown reason.

Maybe because also the latest versions have some Problems with the Dynamic-Link Library Redirection or other performance issues. (Using dependency walker under windows 10 seems to be a lot more slow and cumbersome than at previous windows versions - but still great tool for the job)

Following Versions are available:

Potential replacement:

For simple tasks the Github project lucasg/Dependencies may be worth to be checked out. But it currently does not support profiling a running app to debug broken runtime dependencies as depends.exe can do.

vlad_tepesch
  • 6,681
  • 1
  • 38
  • 80
  • Please upvote this answer so that it gets to the top of the list, it is currently the correct one. Sam's answer no longer works. – Jan Doggen Jun 02 '23 at 07:07
4

I've had to switch to using a GitHub project: Dependencies.

As of Windows 10 1809 (10.0.17763) I'm unable to run even depends.exe version 2.2.10011 included in 10.0.10586.0 WDK.

Tyler Szabo
  • 986
  • 1
  • 7
  • 23
3

I ran into the same problem and I discovered it is fixed in the latest version of Dependency Walker. I compared 2.2.6000 versus 2.2.8288 and the problem exists in the former but not the latter. However, you will probably have to wait for the Windows 8 WDK to be released to the public in order to get the latest version.

anonymous
  • 31
  • 2
  • Thank you for the information. I will accept this answer as soon as I can get my hands on a public release of the new Dependency Walker and confirm your observation. – herzbube Mar 19 '12 at 17:32
  • Try getting it from here: http://msdn.microsoft.com/en-us/windows/hardware/hh852362 – anonymous Mar 21 '12 at 19:50
  • 8
    Has anybody been able to find this newer version of Dependency Walker anywhere yet? It doesn't seem to be in the current WDK nor SDK. – RobinDunn Feb 16 '13 at 00:59
  • 1
    Before I forget again and have to go through the rigmarole I went through 2 times to find it! First go to https://msdn.microsoft.com/en-us/windows/hardware/dn913721.aspx – Peter Nimmo Sep 11 '15 at 18:14
  • 1
    First run the Wdk setup from stage 2, then choose the download option rather than install – Peter Nimmo Sep 11 '15 at 18:15
  • 2
    Then run DownloadLocation\Windows Kits\10\WDK\Installers>"Windows Driver Kit-x86_en-us.msi" – Peter Nimmo Sep 11 '15 at 18:16
  • 1
    Then you will find it at C:\Program Files (x86)\Windows Kits\10\Tools\x64\depends.exe and of course the x86 folder – Peter Nimmo Sep 11 '15 at 18:17
  • 1
    Which is version 2.2.10011. Last time I tried this when it was the Win8 WDK it didn't seem to solve the hanging, I'm off to try it now – Peter Nimmo Sep 11 '15 at 18:18
  • 6
    2.2.10011 still hangs for me. Trying to profile some qt5 app. Latest loaded lib is `WINSPOOL.DRV` – Dan M. Dec 15 '15 at 00:21
  • 1
    2.2.6 Hangs for me, but 2.2.1 for Windows Driver Kit (WDK) 10 (Version 1511, Build 10586) does not! Download page for both as of 8-2-2018: https://zzz.buzz/2017/05/18/download-dependency-walker/ – BuvinJ Aug 02 '18 at 23:25