Reading Dependency walker output
Asked Answered
P

1

12

I am having some problems using one of the Dlls in my application and I ran dependency walker on it. i am not sure how to read it but I got following resultsenter image description here

Does it suggest any x86-x64 incompatibilty? is there anyway I can solve this issue?

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Phonoscope answered 31/1, 2014 at 4:19 Comment(2)
Just a note: If possible, include the error message as text (additionally), so it is easier for users to find this thread. Thanks ;-)Protoplast
Just edited the errors are pretty descriptive but my question is that if there were so many problems how could they compile the DLL to start with?Phonoscope
I
9

You typically see that sort of view when you look at a 32 bit executable in the 64 bit version of Dependency Walker. Because Dependency Walker is 64 bit, when it tries to look for DLLs on the DLL search path it finds the 64 bit versions. Your 32 bit program will run in the WOW64 emulator and find the 32 bit versions.

So, the screenshot that you have presented, there is nothing at all to be concerned about.

If you are having dependency problems with your app here I suggest that you run your program under Dependency Walker's Profile mode (from the Profile menu item). This will give you detailed diagnostics of what actually happens at load time and run time. The screenshot you present above is from a static analysis and by necessity such a static analysis is always incomplete and subject to inaccuracies. The only way to be sure of what happens when your program loads, is to debug it as it loads.

Institution answered 31/1, 2014 at 8:29 Comment(2)
TL;DR: For inspecting a 32-bit exe, use the 32-bit version of Dependency Walker. Likewise, for inspecting a 64-bit exe use the 64-bit version of Dependency Walker.Tc
Handy tool to launch the correct version automatically github.com/juntalis/depends-launcherHarmless

© 2022 - 2024 — McMap. All rights reserved.