Why Use Dependency Walker?


Have you ever...

bullet ...wondered why an application or module was failing to load?

bullet ...wondered what minimum set of files are required to run a particular application or load a particular DLL?

bullet ...wondered why a certain module was being loaded with a particular application?

bullet ...wanted to know what functions are exposed by a particular module, and which ones are actually being called by other modules?

bullet ...wanted to know the parameter and return types of exported C++ functions?

bullet ...wanted to remove all dependencies for a given module?

bullet ...wanted to know the complete path of all the modules being loaded for a particular application?

bullet ...wanted to know all the base addresses of each module being loaded for a particular application? What about versions? Or maybe CPU types?

bullet ...received one of the following errors...

bullet The dynamic link library BAR.DLL could not be found in the specified path...

bullet The procedure entry point FOO could not be located in the dynamic link library BAR.DLL.

bullet The application or DLL BAR.DLL is not a valid Windows image.

bullet The application failed to initialize properly.

bullet Initialization of the dynamic link library BAR.DLL failed. The process is terminating abnormally.

bullet The image file BAR.EXE is valid, but is for a machine type other than the current machine.

bullet Program too big to fit in memory.