The Module List View displays a list of all unique modules that are dependencies for the root module you opened. This list defines the set of files needed for the module to load and execute as a running process.
Modules can be displayed using full file paths or just the file name to conserve screen space. You can control what is displayed using the Full Paths option. You may also copy the selected modules' file names or paths to the clipboard by selecting the Copy Command. The actual text copied will differ depending on how the Full Paths option is set. If more than one module is selected, a list will be copied to the clipboard with carriage returns after each module. The complete contents of the Module List View can also be saved to a text file or comma separated value (CSV) file using the Save Command or Save As Command.
There is not a one-to-one relationship between the modules listed in this list view and the modules listed in the Module Dependency Tree View. This list view shows the unique set of modules, where as the tree view shows all the module relationships. A module like KERNEL32.DLL may show up dozens of times in the tree view since many other modules depend on it, but it will only show up once in this list view. Some instances of KERNEL32.DLL might be implicitly loaded, while others may be dynamically loaded. Some might have import / export mismatch errors, while others may have no errors. Since there is not a one-to-one relationship between the two views, the module list view tries to use images for modules that encapsulate the state of all instances of each module in the tree view. For example, if KERNEL32.DLL appears in the tree view ten times with no errors and one time with an import / export mismatch error, then the list view will show KERNEL32.DLL as having an import / export mismatch error.
Dependency Walker also gives precedence to certain types of dependencies. If a module is implicitly required for an application to load, then it will appear with the implicit module image in the module list view. This is true even if the module is also listed as a delay-load or dynamic dependency in the tree view, since an implicit dependency is the most significant type of dependency and is required for the application to load. If a module is dynamically loaded or is a child of a dynamically loaded module, then it will appear with the dynamic module image in the list view. If a module is delay-loaded or is a child of a delay-loaded module, then it will appear with the delay-load module image in the list view. If a module is both a delay-load and dynamic dependency, it will be shown as a dynamic dependency in the list view since modules that actually get dynamically loaded are given precedence over delay-loaded modules that don't get loaded. This can cause images in the list view to change from delay-load to dynamic as modules get loaded dynamically.
The following is a table of the primary images that can accompany each module in the Module List View. This list is just a subset of all the possible images. Actual images can be a combination of one or more of the following images:
|
See the How to Interpret Warnings and Errors in Dependency Walker section for more details on module errors.
The Module List View contains several columns of information about each module. These columns include:
|
The module list can be sorted on the data in any column in the list. Simply click on the column header button for the column you wish to sort by. An arrow (^) is displayed in the column header for the column that the list is currently sorted by. You can also size a column to its "best fit" width by double-clicking the divider line between two columns in the column header. You can search for text in the currently sorted column by simply typing in the first few characters of the item you wish to find.
If a module was not found or was not a valid 32-bit or 64-bit Windows binary, then an error message will be displayed in place of the normal column information for that module.