If the software is complex, then the collation of dependencies is a very serious problem, the software design to the module may exist in multiple versions, may be constantly changing, if the version is not on or has a dependent file is missing,
Then you need such a tool to help determine where the problem is.
The main window of the software is as follows:
The labels correspond to:
1. Common tool Bar
toolbar button functions are
Open: Opens (Dll/exe) To view dependencies, or saved views
Save: Saves the Open file view, the saved view can be reopened
Copy (copy): Copy selected content to text
Auto Expand (Auto-expand): Automatically expand all nodes of a dependent tree
View full path (display path): Displays the absolute path of all dependent modules
Undecorate C + + function (remove C + + modifier): all C + + functions are modified by the compiler, this button is used to see the name declared in the header file; about C + + compiler renaming can Google learn more
View Modules in External Viewer (see Dependencies in a new attempt): You can view individual dependencies with separate windows when viewing multiple dll/exe at the same time
Properties (view attributes): View file properties, equivalent to right click on the file in the pop-up menu select Properties to view
Start profile (): [appears to be starting to parse run-time dependencies, not used this feature]
Stop profile (stop profiling)
2. Dependency Tree
3. Call the interface list
4. List of all interfaces
The top two graphs are the state of selecting different files on the directory tree; in the first one, the root node Swscale-2.dll is selected, and the list of functions on the right can be seen as empty on the upper right side.
Because the relationship that the root node is called is not visible here, the lower-right window is the list of all exported functions for the currently selected node (root node); When we select the child under the root node
node (the root node depends on those files in the child nodes), the upper right side shows the child node's export function is called by the parent node of the quilt node, the lower right side of the window shows all the child nodes of the export function;
If we expand the child nodes to the next level of child nodes for viewing, the logic of the right window remains consistent with the foregoing.
5. List of all dependent modules
6. Warning and error messages
We remove the Avutil-52.dll from the directory where the Swscale-2.dll is located, and then reopen the Swscale-2.dll;
We will see a pop-up window informing you of the dependency problem, the dependent file may not be found, or depending on the version of the file; Turn off the dialog; we'll be on the upper left side of the dependency tree window
See the Red child node, indicate that the file is not found or the version is wrong, if the version is wrong, then you can view the absolute path of the module to see the current dependent version in that directory;
Note:
1, finally need to emphasize is that this software has 32 and 64 bit two versions; The 32-bit version can only view the dependencies of 32-bit dll/exe; 64-bit software can only view the dependencies of 64-bit dll/exe;
2, many of the software is now developed in many languages, but dependency Walker supports more than C + +; The modules of the Windows platform written by Net/vb can be analyzed;
But the role of other languages is limited;
3, more content can view the software's help document;
REF:
http://www.dependencywalker.com/
About Dependency Walker