Dependency Walker

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.

As of Windows 7, Microsoft introduced the concept of Windows API-sets, a form of DLL redirection. 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

 * 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