Dependency Walker 2.2

Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.

Dependency Walker is also very useful for troubleshooting system errors related to loading and executing modules. Dependency Walker detects many common application problems such as missing modules, invalid modules, import/export mismatches, circular dependency errors, mismatched machine types of modules, and module initialization failures.

Dependency Walker runs on Windows 95, 98, Me, NT, 2000, XP, 2003, Vista, 7, and 8. It can process any 32-bit or 64-bit Windows module, including ones designed for Windows CE. It can be run as graphical application or as a console application. Dependency Walker handles all types of module dependencies, including implicit, explicit (dynamic / runtime), forwarded, delay-loaded, and injected. A detailed help is included.

Dependency Walker is completely free to use. However, you may not profit from the distribution of it, nor may you bundle it with another product.

What is New in Version 2.2:

Moved to new HTML help system and updated the help text.
Added support for MSDN 8.0 external help and updated the online help URL.
Improved Side-by-Side support that handles DLL manifests and app.exe.local files.
Updated internal information about known OS versions, build numbers, and flags up to the Vista RC1 build.

What was New in Version 2.1:

Support for Side-by-Side versioning of modules. This is a new feature introduced with Windows XP that allows applications to specify specific versions and/or locations of files it wishes to use.
Integration with Visual Studio help, MSDN help, and MSDN online to provide the ability to display detailed help for any known function.

What was New in Version 2.0:

Detection of dynamically loaded modules, including details about which module actually called LoadLibrary to dynamically load the module.
Detection of dynamically called functions, including details about which module actually called GetProcAddress to obtain the function address.
Detection of delay-load dependencies. This is a new type of dependency that was introduced with Microsoft Visual C++ 6.0. They work on Windows 95/98/Me and Windows NT/2000/XP/2003/Vista/7/8/+.
Support for 64-bit Windows modules.
Console mode that allows Dependency Walker to be ran without its graphical interface being displayed. This is useful for batch files and unattended automation of Dependency Walker features.
Command line options to configure module search order, column sorting, output files, profiling, and other settings.
Ability to monitor module entrypoints (like DllMain) looking for module initialization failures.
C++ function name undecorating to provide human readable C++ function prototypes including function names, return types, and parameter types.
User definable module search paths with support for "KnownDLLs" and the "App Paths" registry keys. Search paths can be saved and loaded from within the graphical interface or from the command line.
Ability to save a module's session to a text report file for easy viewing in any text viewer.
Ability to save a module's session to a comma separated value (CSV) file for easy importing into other applications.
Ability to save a snapshot of an entire module session to an image file, which can be loaded by Dependency Walker at a later time on any computer.
Module profiling to detect dynamic dependencies, child processes, thread activity, and exceptions. Child processes can also be profiled for their dependencies.
Ability to control what file extensions Dependency Walker will add the "View Dependencies" menu item to a file's context menu in explorer.
Added hotkeys to help match imports with exports, and modules in the list view with modules in the tree view. Also added hotkeys to locate the previous, next, or original instance of a module in the tree view.
Added some new columns to the Module List View. They include Link Time Stamp, Link Checksum, Real Checksum, Symbols, Actual Base, Virtual Size, and Load Order.
Added an OS Information dialog. This information is also saved to text and Dependency Walker Image (DWI) files.
All list views can now be sorted by icon, which provides an easy way of grouping items of similar type.
You can now search all list views for text by simply typing in a few characters to match in the currently sorted column.
Added color-coding to the module list view and log view to help highlight problems.

Download the latest version here:

 Download Version 2.2.6000 for x86 (Windows 95 / 98 / Me / NT / 2000 / XP / 2003 / Vista / 7 / 8) [610k]
 Download Version 2.2.6000 for x64 [468k]
 Download Version 2.2.6000 for IA64 [605k]

Support for Alpha, AXP64, MIPS, and PowerPC architectures has been dropped.  Here are the latest versions for those architectures:

 Download Version 2.0 for Alpha [610k]
 Download Version 2.0 for AXP64 [342k]
 Download Version 1.0 for MIPS [284k]
 Download Version 1.0 for PowerPC [260k]

Dependency Walker is part of several Microsoft products, such as Visual Studio, Visual C++, Visual Basic, Windows 2000/XP/2003 support tools (on the Windows CD), Windows 98/NT/2000/XP/2003 Resource Kits, Platform SDK, Windows DDK, Windows SDK, and MSDN.  There are also several places on the Microsoft web site that it can be downloaded from for free.  This site was created in order to distribute the latest version of Dependency Walker for testing.

 Click Here For Answers to Frequently Asked Questions (FAQ)
 Click Here To View Dependency Walker's Help File


Comments, suggestions, and bug reports are always welcome.