Using Dependency Walker for General Information about Modules


Dependency Walker is more than just a troubleshooting utility. It also provides a great deal of valuable information about the module layout of a particular application and details on each module. Dependency Walker provides the following information:

bullet A complete module dependency tree diagram of all the modules required by a particular application.

bullet A list of all functions exported from each module. These lists include functions exported by name, functions exported by ordinal, and functions that are actually forwarded to other modules. Named C++ functions can be shown in their native decorated format, or can be expanded into human readable function prototypes including return types and parameters types.

bullet A list of functions that are actually called in each module by other modules. These lists can help developers understand why a particular module is being linked with an application, and also provides information on how to remove unneeded modules from being dependencies.

bullet A list of the minimum set of files that are required in order for a module to load and run. This list can be very useful when copying files to another computer or creating setup scripts.

bullet For each individual module found, the following information is provided...

bullet Full path to the module file.

bullet Date and time of the module file.

bullet Date and time the module was actually built.

bullet Size of the module file.

bullet Attributes of the module file.

bullet The module checksum from when the module was built.

bullet The actual module checksum.

bullet Type of CPU that the module was built for.

bullet Type of subsystem that the module was built to run in.

bullet Type of debugging symbols that are associated with the module.

bullet The preferred base load address of the module.

bullet The actual base load address of the module.

bullet The virtual size of the module.

bullet The load order of the module with respect to other modules.

bullet The file version found in the module's version resource.

bullet The product version found in the module's version resource.

bullet The image version found in the module's file header.

bullet The version of the linker that was used to create the module file.

bullet The version of the OS that the module file was built to run on.

bullet The version of the subsystem that the module file was built to run in.

bullet A possible error message if any error occurred while processing the file.