1-click AWS Deployment 1-click Azure Deployment
Overview
-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.
Dependency Walker is a tool to analyze the dependencies of a Windows application – like functions, modules, etc. It builds a hierarchical tree of all the dependent modules of a exe, dll, sys, etc.
Dependency Walker becomes especially helpful if a specific program of yours is not loading, or a service is failing to start with an error pointing to a specific dll. In such cases you can load that program or dll in Dependency Walker, to see which file is failing to load or what module is causing the problem – and then fix it.
The program does not just load the modules, but it also scans for potential errors. According to the Help file, it performs the following jobs:
- Detects missing files. These are files that are required as a dependency to another module. A symptom of this problem is the “The dynamic link library BAR.DLL could not be found in the specified path…” error.
- Detects invalid Files. This includes files that are not Win32 or Win64 compliant and files that are corrupt. A symptom of this problem is the “The application or DLL BAR.EXE is not a valid Windows image” error.
- Detects import/export mismatches. Verifies that all functions imported by a module are actually exported from the dependent modules. All unresolved import functions are flagged with an error. A symptom of this problem is the “The procedure entry point FOO could not be located in the dynamic link library BAR.DLL” error.
- Detects circular dependency errors. This is a very rare error, but can occur with forwarded functions.
- Detects mismatched CPU types of modules. This occurs if a module built for one CPU tries to load a module built for a different CPU.
- Detects checksum inconsistencies by verifying module checksums to see if any modules have been modified after they were built.
- Detects module collisions by highlighting any modules that fail to load at their preferred base address.
- Detects module initialization failures by tracking calls to module entry points and looking for errors.
- Dependency Walker can also perform a run-time profile of your application to detect dynamically loaded modules and module initialization failures. The same error checking from above applies to dynamically loaded modules as well.
- For example, I was helping a client the other day – she was loading Internet Explorer, but IE kept crashing, without any specific errors. We had done most of the basic troubleshooting like disabling add-ons and toolbars, resetting IE to default setting etc.But still it kept crashing. This meant that one or more files required for Internet Explorer to run properly, was creating a problem. It’s always hard to troubleshoot such cases but with Dependency Walker, we can see if something wrong with one of the dependent file.
- So I loaded Internet Explorer in Dependency Walker.
How to use Dependency Walker:
The following steps demonstrate how to use Dependency Walker to generate a list of Dynamic Link Libraries(.dll) accessed when launching any MicroStrategy executable files (e.g. MSTRDESK.exe or MSTRNCAD.exe) or reproducing any errors:
- Download the Dependency Walker from http://www.dependencywalker.com/.
- Extract the zip file to any folder. The Dependency Walker application does not need to install.
- Run the ‘depends.exe.’
- Go to the menu ‘File’ > ‘Open’ and locate a MicroStrategy executable file. In this case, ‘MSTRDESK.exe’ has been selected. ‘MSTRDESK.exe’ is the executable file for MicroStrategy Developer.
- Go to the menu ‘Profile’ > ‘Start Profiling’. The ‘Profile Module’ window will display, as shown below:
- Most of the time, users do not have to change any configuration settings in this window. However, there are three options (the last three in the above screenshot) used frequently to affect the output result:
- Use full paths when logging file names: This option logs the full path of a file name. Instead of ‘M8JCOWrp.dll’, with the option selected, in the log file, it shows as ‘C:\Program Files\Common Files\MicroStrategy\M8JCOWrp.dll.’
- Log a timestamp with each line of log: As the name of the option denotes, if selected, the log will contain timestamps.
- Automatically open and profile child processes: This option should remain unchecked. If the option is selected, the child processes incurred by the target executable file will be profiled.
- Once the operation is finished or the user has replicated the issue, go to the menu ‘File’ > ‘Save As’. The default file name is ‘.dwi’. Do not change it and save the default file name, as shown below:
- Once the file is saved correctly, go back to the Dependency Walker application and exit it. It also closes the target application.
Features
Basic features :
- Runs on Windows 95, 98, Me, NT, 2000, XP, 2003, Vista, 7, 8 and 10
- List all dependent modules (portable executables)
- Supports 64-bit and Windows CE executables
- Detects if the module is programmed in C or C++
- Detects modules not listed in the import address table
- Color coding of the list to help highlight problems (broken dependencies are highlighted in red)
- Traces dependencies recursively, and lists dependencies of all modules in a tree view
Dependency Walker can help you in troubleshooting application errors, file registration errors, memory access violations and invalid page faults.
-Major Features of Dependency Walker:
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.
videos
Defrag Tools – Dependency Walker