Dustin Getz
Dustin Getz

Reputation: 21801

finding why a DLL is being loaded

I have a winxp process which has all sorts of dlls and static libs. One of our libs is calling ms debug dlls, I have a suspicion which one it is but want to prove it in a tool like Process Explorer. How can I get a tree of my process, to see exactly who is loading what modules?

Upvotes: 1

Views: 274

Answers (2)

Marsh Ray
Marsh Ray

Reputation: 2875

Two tools that ship with MS Visual Studio:

Depends.exe for your .exes and .dlls will tell you exactly what the load-time dependencies are.

Run dumpbin /directives on .lib files to tell you what linker directives the static libraries are passing to the linker. This will reveal dependencies coming from there. This comes with the Windows SDK "PSDK", and can also be used to get load-time deps.

If things are getting loaded at runtime, set a breakpoint on kernel32!LoadLibrary and examine the call stack when it gets triggered. The WinDbg debugger (MS Debugging Tools for Windows) is good for this.

Upvotes: 5

RiddlerDev
RiddlerDev

Reputation: 7469

You can use tools like Dependency Walker

Upvotes: 7

Related Questions