Dependency Walker

Summary

Dependency Walker or depends.exe is a free program for Microsoft Windows used to list the imported and exported functions of a portable executable file. It also displays a recursive tree of all the dependencies of the executable file (all the files it requires to run). Dependency Walker was included in Microsoft Visual Studio until Visual Studio 2005 (Version 8.0) and Windows XP SP2 support tools. The latest version v2.2.10011 is not available on dependencywalker.com website but is included in the Windows Driver Kit v10.[6][7][8][9]

Dependency Walker
Original author(s)Steve Miller[1][2]
Developer(s)Microsoft
Initial releasebefore 1997[3][4][5]
Stable release
2.2.6000
Built: October 29, 2006 (2006-10-29)
2.2.10011
Built: October 29, 2015 (2015-10-29) from wdk10
Operating systemMicrosoft Windows
Typeobject code analyzer
LicenseFreeware
Websitewww.dependencywalker.com

As of Windows 7, Microsoft introduced the concept of Windows API-sets, a form of DLL redirection.[10][11][12] Dependency Walker has not been updated to handle this layer of indirection gracefully, and when used on Windows 7 and later it will likely show multiple errors. Dependency Walker can still be used for some application level debugging despite this.

As of October 2017 an Open Source C# rewrite of Dependency Walker called Dependencies.exe has been released on GitHub. It does not yet offer the full range of Dependency Walker features, but has been updated to handle Windows API-sets and WinSxS (side-by-side assemblies).

Basic features edit

  • Runs on Windows 95, 98, Me, NT, 2000, XP, 2003, Vista, 7, 8 and 10
  • List all dependent modules (portable executables)
  • Supports 64-bit and Windows CE executables
  • Detects if the module is programmed in C or C++
  • Detects modules not listed in the import address table
  • Color coding of the list to help highlight problems (broken dependencies are highlighted in red)
  • Traces dependencies recursively, and lists dependencies of all modules in a tree view

See also edit

  • ldd shows an executable's shared library dependencies on Unix-like operating systems
  • nm (with option -D) shows a list of symbols that an executable imports from shared libraries on Unix-like operating systems
  • GNU binutils, similar tools for ELF executables

References edit

  1. ^ Dependency Walker 2.2 (Windows 95 - Windows 10) Steve Miller's Applications Page
  2. ^ Page 123, Technology Best Practices, By Robert H. Spencer, Randolph P. Johnston, Dependency Walker is a well-recognized profiling tool that is freeware developed by Steve Miller, a Microsoft developer, who keeps this utility up-to-date with the latest Microsoft operating system releases...
  3. ^ Tool 'depends' - Depends.exe (1/1) By Steve Miller, 19/11/1997 - microsoft.public.vc.utilities, Google Groups, For starters, there are two separate applications called "depends.exe". One is a console application written by Matt Pietrek for MSJ magazine http://www.microsoft.com/msj/ ), the other one is a GUI application I wrote for Microsoft. They both do similar things, but are unrelated (I did not know about Matt's version and I don't believe he knew about mine)....The GUI version, named Dependency Walker, shipped in the Win32 SDK, NT 4.0 Resource Kit, MSDN,...My site contains the complete version of Dependency Walker 1.0...
  4. ^ Download for version: 2.1.3623 Release Date: June 25, 2002, How To Use Dependency Walker Version 2.1 to Create a Profile, Article ID: 256872, Applies to: Microsoft Visual Studio 6.0 Enterprise Edition
  5. ^ Review:Microsoft Dependency Walker 2.1 (32-bit):Analyse application failures in seconds with Dependency Walker, By Mike Williams, 2010-06-28, Techworld
  6. ^ Profiling x86 executable with Dependency Walker hangs on Windows 7 x64 Stack Overflow
  7. ^ Download kits and tools for Windows hardware development Windows 10 Hardware Dev Center
  8. ^ Page 104, Effective GUI Testing Automation: Developing an Automated GUI Testing Tool, By Kanglin Li, Mengqi Wu
  9. ^ Dependency Walker, Third-Party Tools for Windows XP Embedded, Microsoft MSDN
  10. ^ "ApiSetSchema". www.geoffchappell.com. Retrieved 2016-10-03.
  11. ^ "Windows 8.1 API Sets (Windows)". msdn.microsoft.com. Retrieved 2016-10-03.
  12. ^ "Dynamic-Link Library Redirection". msdn.microsoft.com. Archived from the original on 2016-03-02. Retrieved 2016-10-03.

External links edit

  • Official website
  • Video:Dependency Walker Archived 2017-01-30 at the Wayback Machine, By: Andrew Richards, Chad Beeder, 2015-12-07, Defrag Tools #147, Channel 9 Microsoft
  • Analyze application failures the easier way with Dependency Walker, by Paras Pant, 2010-06-25, Ask the Performance Team Blog, Microsoft
  • How to use Dependency Walker