SlideShare a Scribd company logo
Usage Note of
Microsoft
Dependency Walker
(depends.exe)
William.L
wiliwe@gmail.com
2012-02-07
Index
Introduction..................................................................................................................................................... 3
Usage ................................................................................................................................................................ 4
Dependency Walker program................................................................................................................ 4
Manual ..................................................................................................................................................... 4
Reference ......................................................................................................................................................... 6
Introduction
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, and 7. 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.
This tool is similar to “ldd” (List Dynamic Dependencies) and “nm” (list symbol) under Unix-like
systems (ex: Linux).
Dependency Walker official site :
http://www.dependencywalker.com/
Usage
Before using depends.exe, it needs to install SDK/WDK. Dependency Walker’s current version is
v2.2 and Visual Studio version is 2012.
Dependency Walker program
Drive:Program FilesWindows Kits8.0Toolsx86depends.exe
Manual
Drive:Program FilesWindows Kits8.0Toolsx86Depends.chm
Steps :
1. Run depends.exe
2. Select an executable by clicking menu item “File > Open”
3. Then it will show dependent module tree diagram as below.
Here showing the selected executable, test4.exe, depends on Kernel32.dll and MSVCR1110.dll DLLs or
said it uses APIs exported from these libraries.
We can use Dependency Walker to see an executable or module depends on which library BEFORE
running it and then check if the running environment lacks those dependent modules or libraries.
When building an executable, to configure static link for the running environment has no MSVCR1110.dll.
Followings are API dependent DLL trace examples (the selected executable functions showing system
information, O.S version).
GetVersionEx()
This is defined in “Drive:Program FilesWindows Kits8.0Includeumsysinfoapi.h”. For wide
character(Unicode,UTF-16) it represents GetVersionExW() and GetVersionExA() for ANSI version.
See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx. This API is
exported from DLL “Kernel32.dll”.
GetSystemInfo()
See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724381(v=vs.85).aspx. This API is
exported from DLL “Kernel32.dll”.
These error messages are the case that it can find modules for current CPU architecture.
An alternative tool is Microsoft DumpBin, it is included in Visual Studio. To achieve similar function as
Dependency Walker, please run the below command:
dumpbin.exe /DEPENDENTS
See below links for more information.
* DUMPBIN Command Line
https://msdn.microsoft.com/en-us/library/20y05bd5.aspx
* Description of the DUMPBIN utility
https://support.microsoft.com/en-us/kb/177429
Reference
* Escape from DLL Hell with Custom Debugging and Instrumentation Tools and Utilities
https://msdn.microsoft.com/en-us/magazine/bb985842.aspx
* How to use Dependency Walker?
http://wiki.imacros.net/Dependency_Walker
http://www-archive.mozilla.org/quality/help/dependency-walker.html

More Related Content

What's hot

Installing 12c R1 database on oracle linux
Installing 12c R1 database on oracle linuxInstalling 12c R1 database on oracle linux
Installing 12c R1 database on oracle linux
Anar Godjaev
 
Sql injection course made by Cristian Alexandrescu
Sql injection course made by Cristian AlexandrescuSql injection course made by Cristian Alexandrescu
Sql injection course made by Cristian Alexandrescu
Cristian Alexandrescu
 
SQL Injection
SQL InjectionSQL Injection
SQL Injection
Abhinav Nair
 
Time-Based Blind SQL Injection
Time-Based Blind SQL InjectionTime-Based Blind SQL Injection
Time-Based Blind SQL Injection
matt_presson
 
Android(1)
Android(1)Android(1)
Android(1)
Nikola Milosevic
 
SQL Injection - Newsletter
SQL Injection - NewsletterSQL Injection - Newsletter
SQL Injection - Newsletter
Smitha Padmanabhan
 
Time-Based Blind SQL Injection Using Heavy Queries
Time-Based Blind SQL Injection Using Heavy QueriesTime-Based Blind SQL Injection Using Heavy Queries
Time-Based Blind SQL Injection Using Heavy Queries
Chema Alonso
 
Types of sql injection attacks
Types of sql injection attacksTypes of sql injection attacks
Types of sql injection attacks
Respa Peter
 
Advanced SQL injection to operating system full control (whitepaper)
Advanced SQL injection to operating system full control (whitepaper)Advanced SQL injection to operating system full control (whitepaper)
Advanced SQL injection to operating system full control (whitepaper)
Bernardo Damele A. G.
 
androidSample
androidSampleandroidSample
androidSample
Matt Kutschera
 
Spring @configuration - So Long Spring XMLs
Spring @configuration - So Long Spring XMLsSpring @configuration - So Long Spring XMLs
Spring @configuration - So Long Spring XMLs
Avi Etzioni
 
Developing with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applicationsDeveloping with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applications
Chandrakant Wanare ☁
 
Owasp Backend Security Project 1.0beta
Owasp Backend Security Project 1.0betaOwasp Backend Security Project 1.0beta
Owasp Backend Security Project 1.0beta
Security Date
 
Technical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a ServiceTechnical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a Service
Wonderware InTouch Machine Edition
 
Obiee metadata dictionary
Obiee metadata dictionaryObiee metadata dictionary
Obiee metadata dictionary
obieefans
 
Mule fips 140-2 compliance support
Mule  fips 140-2 compliance supportMule  fips 140-2 compliance support
Mule fips 140-2 compliance support
D.Rajesh Kumar
 
Mule security-jaas
Mule security-jaasMule security-jaas
Mule security-jaas
Praneethchampion
 

What's hot (17)

Installing 12c R1 database on oracle linux
Installing 12c R1 database on oracle linuxInstalling 12c R1 database on oracle linux
Installing 12c R1 database on oracle linux
 
Sql injection course made by Cristian Alexandrescu
Sql injection course made by Cristian AlexandrescuSql injection course made by Cristian Alexandrescu
Sql injection course made by Cristian Alexandrescu
 
SQL Injection
SQL InjectionSQL Injection
SQL Injection
 
Time-Based Blind SQL Injection
Time-Based Blind SQL InjectionTime-Based Blind SQL Injection
Time-Based Blind SQL Injection
 
Android(1)
Android(1)Android(1)
Android(1)
 
SQL Injection - Newsletter
SQL Injection - NewsletterSQL Injection - Newsletter
SQL Injection - Newsletter
 
Time-Based Blind SQL Injection Using Heavy Queries
Time-Based Blind SQL Injection Using Heavy QueriesTime-Based Blind SQL Injection Using Heavy Queries
Time-Based Blind SQL Injection Using Heavy Queries
 
Types of sql injection attacks
Types of sql injection attacksTypes of sql injection attacks
Types of sql injection attacks
 
Advanced SQL injection to operating system full control (whitepaper)
Advanced SQL injection to operating system full control (whitepaper)Advanced SQL injection to operating system full control (whitepaper)
Advanced SQL injection to operating system full control (whitepaper)
 
androidSample
androidSampleandroidSample
androidSample
 
Spring @configuration - So Long Spring XMLs
Spring @configuration - So Long Spring XMLsSpring @configuration - So Long Spring XMLs
Spring @configuration - So Long Spring XMLs
 
Developing with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applicationsDeveloping with oracle enterprise scheduler service for fusion applications
Developing with oracle enterprise scheduler service for fusion applications
 
Owasp Backend Security Project 1.0beta
Owasp Backend Security Project 1.0betaOwasp Backend Security Project 1.0beta
Owasp Backend Security Project 1.0beta
 
Technical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a ServiceTechnical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a Service
 
Obiee metadata dictionary
Obiee metadata dictionaryObiee metadata dictionary
Obiee metadata dictionary
 
Mule fips 140-2 compliance support
Mule  fips 140-2 compliance supportMule  fips 140-2 compliance support
Mule fips 140-2 compliance support
 
Mule security-jaas
Mule security-jaasMule security-jaas
Mule security-jaas
 

Viewers also liked

Viewing Android Source Files in Eclipse (Chinese)
Viewing Android Source Files in Eclipse  (Chinese)Viewing Android Source Files in Eclipse  (Chinese)
Viewing Android Source Files in Eclipse (Chinese)
William Lee
 
Usage Note of SWIG for PHP
Usage Note of SWIG for PHPUsage Note of SWIG for PHP
Usage Note of SWIG for PHP
William Lee
 
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5 Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
William Lee
 
Usage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on LinuxUsage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on Linux
William Lee
 
Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3
William Lee
 
Qt Development Tools
Qt Development ToolsQt Development Tools
Qt Development Tools
William Lee
 
CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)William Lee
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP Languages
William Lee
 

Viewers also liked (8)

Viewing Android Source Files in Eclipse (Chinese)
Viewing Android Source Files in Eclipse  (Chinese)Viewing Android Source Files in Eclipse  (Chinese)
Viewing Android Source Files in Eclipse (Chinese)
 
Usage Note of SWIG for PHP
Usage Note of SWIG for PHPUsage Note of SWIG for PHP
Usage Note of SWIG for PHP
 
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5 Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
 
Usage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on LinuxUsage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on Linux
 
Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3
 
Qt Development Tools
Qt Development ToolsQt Development Tools
Qt Development Tools
 
CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP Languages
 

Similar to Usage Note of Microsoft Dependency Walker

DBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_SolutionDBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_Solution
Syed Zaid Irshad
 
Test Lab Guide: Windows Server 2012 R2 Base Configuration
Test Lab Guide: Windows Server 2012 R2 Base ConfigurationTest Lab Guide: Windows Server 2012 R2 Base Configuration
Test Lab Guide: Windows Server 2012 R2 Base Configuration
Tiago Henrique Ribeiro Ferreira
 
Subversion howto
Subversion howtoSubversion howto
50 essential excel tips
50 essential excel tips50 essential excel tips
50 essential excel tips
mahmoodali550
 
D space manual 1.5.2
D space manual 1.5.2D space manual 1.5.2
D space manual 1.5.2
tvcumet
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
Rohit Kelapure
 
Svcrsp 1.3p1
Svcrsp 1.3p1Svcrsp 1.3p1
Svcrsp 1.3p1
Fábio Junior
 
User guide
User guideUser guide
User guide
Mani Vannan
 
Srs template
Srs templateSrs template
Srs template
ambitlick
 
IE issues with AJAX Apps
IE issues with AJAX AppsIE issues with AJAX Apps
IE issues with AJAX Apps
Araf Karsh Hamid
 
Ovm user's guide
Ovm user's guideOvm user's guide
Ovm user's guide
conlee82
 
Adf tutorial oracle
Adf tutorial oracleAdf tutorial oracle
Adf tutorial oracle
César Augusto Castillo Farfán
 
Odi installation guide
Odi installation guideOdi installation guide
Odi installation guide
prakashdas05
 
Introduction to Java Enterprise Edition
Introduction to Java Enterprise EditionIntroduction to Java Enterprise Edition
Introduction to Java Enterprise Edition
Abdalla Mahmoud
 
Getting started with odi
Getting started with odiGetting started with odi
Getting started with odi
checksekhar
 
Own cloudusermanual
Own cloudusermanualOwn cloudusermanual
Own cloudusermanual
Hermes Guerrero
 
Struts 1
Struts 1Struts 1
Struts 1
Lalit Garg
 
Deploying Customizations across Microsoft dynamics ax 2012 environments
Deploying Customizations across Microsoft dynamics ax 2012 environmentsDeploying Customizations across Microsoft dynamics ax 2012 environments
Deploying Customizations across Microsoft dynamics ax 2012 environments
Tariq Rafique
 
Open acc.1.0
Open acc.1.0Open acc.1.0
Open acc.1.0
shengmingzhiyu
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
Achyuta Kumar
 

Similar to Usage Note of Microsoft Dependency Walker (20)

DBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_SolutionDBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_Solution
 
Test Lab Guide: Windows Server 2012 R2 Base Configuration
Test Lab Guide: Windows Server 2012 R2 Base ConfigurationTest Lab Guide: Windows Server 2012 R2 Base Configuration
Test Lab Guide: Windows Server 2012 R2 Base Configuration
 
Subversion howto
Subversion howtoSubversion howto
Subversion howto
 
50 essential excel tips
50 essential excel tips50 essential excel tips
50 essential excel tips
 
D space manual 1.5.2
D space manual 1.5.2D space manual 1.5.2
D space manual 1.5.2
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
Svcrsp 1.3p1
Svcrsp 1.3p1Svcrsp 1.3p1
Svcrsp 1.3p1
 
User guide
User guideUser guide
User guide
 
Srs template
Srs templateSrs template
Srs template
 
IE issues with AJAX Apps
IE issues with AJAX AppsIE issues with AJAX Apps
IE issues with AJAX Apps
 
Ovm user's guide
Ovm user's guideOvm user's guide
Ovm user's guide
 
Adf tutorial oracle
Adf tutorial oracleAdf tutorial oracle
Adf tutorial oracle
 
Odi installation guide
Odi installation guideOdi installation guide
Odi installation guide
 
Introduction to Java Enterprise Edition
Introduction to Java Enterprise EditionIntroduction to Java Enterprise Edition
Introduction to Java Enterprise Edition
 
Getting started with odi
Getting started with odiGetting started with odi
Getting started with odi
 
Own cloudusermanual
Own cloudusermanualOwn cloudusermanual
Own cloudusermanual
 
Struts 1
Struts 1Struts 1
Struts 1
 
Deploying Customizations across Microsoft dynamics ax 2012 environments
Deploying Customizations across Microsoft dynamics ax 2012 environmentsDeploying Customizations across Microsoft dynamics ax 2012 environments
Deploying Customizations across Microsoft dynamics ax 2012 environments
 
Open acc.1.0
Open acc.1.0Open acc.1.0
Open acc.1.0
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
 

More from William Lee

Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCap
William Lee
 
Qt4 App - Sliding Window
Qt4 App - Sliding WindowQt4 App - Sliding Window
Qt4 App - Sliding Window
William Lee
 
GTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App ChooserGTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App Chooser
William Lee
 
GTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon ChooserGTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon Chooser
William Lee
 
Note of CGI and ASP
Note of CGI and ASPNote of CGI and ASP
Note of CGI and ASP
William Lee
 
Moblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) PluginMoblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) Plugin
William Lee
 
MGCP Overview
MGCP OverviewMGCP Overview
MGCP Overview
William Lee
 
Asterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log RotationAsterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log Rotation
William Lee
 
L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5
William Lee
 
C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)
William Lee
 
Internationalization(i18n) of Web Page
Internationalization(i18n) of Web PageInternationalization(i18n) of Web Page
Internationalization(i18n) of Web Page
William Lee
 
Notes for SQLite3 Usage
Notes for SQLite3 UsageNotes for SQLite3 Usage
Notes for SQLite3 Usage
William Lee
 
Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)
William Lee
 
Android Storage - StorageManager & OBB
Android Storage - StorageManager & OBBAndroid Storage - StorageManager & OBB
Android Storage - StorageManager & OBB
William Lee
 
Study of Chromium OS
Study of Chromium OSStudy of Chromium OS
Study of Chromium OS
William Lee
 
GNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in GnomeGNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in Gnome
William Lee
 
Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069
William Lee
 
More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)
William Lee
 
Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069
William Lee
 
Qt Animation
Qt AnimationQt Animation
Qt Animation
William Lee
 

More from William Lee (20)

Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCap
 
Qt4 App - Sliding Window
Qt4 App - Sliding WindowQt4 App - Sliding Window
Qt4 App - Sliding Window
 
GTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App ChooserGTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App Chooser
 
GTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon ChooserGTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon Chooser
 
Note of CGI and ASP
Note of CGI and ASPNote of CGI and ASP
Note of CGI and ASP
 
Moblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) PluginMoblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) Plugin
 
MGCP Overview
MGCP OverviewMGCP Overview
MGCP Overview
 
Asterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log RotationAsterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log Rotation
 
L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5
 
C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)
 
Internationalization(i18n) of Web Page
Internationalization(i18n) of Web PageInternationalization(i18n) of Web Page
Internationalization(i18n) of Web Page
 
Notes for SQLite3 Usage
Notes for SQLite3 UsageNotes for SQLite3 Usage
Notes for SQLite3 Usage
 
Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)
 
Android Storage - StorageManager & OBB
Android Storage - StorageManager & OBBAndroid Storage - StorageManager & OBB
Android Storage - StorageManager & OBB
 
Study of Chromium OS
Study of Chromium OSStudy of Chromium OS
Study of Chromium OS
 
GNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in GnomeGNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in Gnome
 
Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069
 
More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)
 
Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069
 
Qt Animation
Qt AnimationQt Animation
Qt Animation
 

Recently uploaded

Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 

Recently uploaded (20)

Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 

Usage Note of Microsoft Dependency Walker

  • 1. Usage Note of Microsoft Dependency Walker (depends.exe) William.L wiliwe@gmail.com 2012-02-07
  • 2. Index Introduction..................................................................................................................................................... 3 Usage ................................................................................................................................................................ 4 Dependency Walker program................................................................................................................ 4 Manual ..................................................................................................................................................... 4 Reference ......................................................................................................................................................... 6
  • 3. Introduction 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, and 7. 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. This tool is similar to “ldd” (List Dynamic Dependencies) and “nm” (list symbol) under Unix-like systems (ex: Linux). Dependency Walker official site : http://www.dependencywalker.com/
  • 4. Usage Before using depends.exe, it needs to install SDK/WDK. Dependency Walker’s current version is v2.2 and Visual Studio version is 2012. Dependency Walker program Drive:Program FilesWindows Kits8.0Toolsx86depends.exe Manual Drive:Program FilesWindows Kits8.0Toolsx86Depends.chm Steps : 1. Run depends.exe 2. Select an executable by clicking menu item “File > Open” 3. Then it will show dependent module tree diagram as below. Here showing the selected executable, test4.exe, depends on Kernel32.dll and MSVCR1110.dll DLLs or said it uses APIs exported from these libraries. We can use Dependency Walker to see an executable or module depends on which library BEFORE running it and then check if the running environment lacks those dependent modules or libraries. When building an executable, to configure static link for the running environment has no MSVCR1110.dll. Followings are API dependent DLL trace examples (the selected executable functions showing system information, O.S version). GetVersionEx() This is defined in “Drive:Program FilesWindows Kits8.0Includeumsysinfoapi.h”. For wide character(Unicode,UTF-16) it represents GetVersionExW() and GetVersionExA() for ANSI version. See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx. This API is exported from DLL “Kernel32.dll”.
  • 5. GetSystemInfo() See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724381(v=vs.85).aspx. This API is exported from DLL “Kernel32.dll”. These error messages are the case that it can find modules for current CPU architecture. An alternative tool is Microsoft DumpBin, it is included in Visual Studio. To achieve similar function as Dependency Walker, please run the below command: dumpbin.exe /DEPENDENTS See below links for more information. * DUMPBIN Command Line https://msdn.microsoft.com/en-us/library/20y05bd5.aspx * Description of the DUMPBIN utility https://support.microsoft.com/en-us/kb/177429
  • 6. Reference * Escape from DLL Hell with Custom Debugging and Instrumentation Tools and Utilities https://msdn.microsoft.com/en-us/magazine/bb985842.aspx * How to use Dependency Walker? http://wiki.imacros.net/Dependency_Walker http://www-archive.mozilla.org/quality/help/dependency-walker.html