How do I find out which dlls an executable will load?
If I have a Windows executable, how can I find out which dlls it will load?
I'm just talking about which ones that will be loaded statically, not ones it might load dynamically with something like LoadLibrary.
Solution 1:
dumpbin is a tool that comes with VC++.
To see what DLLs a program will import:
- Open Visual Studio
- Menu Item Tools | Visual Studio Command prompt
- cd to folder containing executable
- dumpbin /dependents whatever.exe
Dump of file whatever.exe File Type: EXECUTABLE IMAGE Image has the following dependencies: AIOUSB.DLL sqlite3.dll wxmsw293u_core_vc_custom.dll wxbase293u_vc_custom.dll KERNEL32.dll ole32.dll OLEAUT32.dll MSVCP90.dll MSVCR90.dll
To see what functions (and DLLs) it will import, use
C:\> dumpbin /imports whatever.exe
Solution 2:
There are utilities that will do this for you.
In the past I've used the MS tool (depends.exe) that came with (I think) VB.:
VS2010
VS2012
VS2013
VS2015
Current
and there's this as well:
http://dependencywalker.com/
and probably others as well.
Solution 3:
Open the command prompt and then type below command
tasklist /m /fi "imagename eq netbeans.exe"
Type instead netbeans.exe whatever name your exe file name.
Solution 4:
Just go to the command prompt and type tasklist /m
, you will see the list of dll files used by specific program.
Solution 5:
Dependency Walker can help you determine which .dll will be loaded.