简体   繁体   中英

Find loaded DLL for LIB

In VS 2005, I can see paths of the libs linker is searching for by explicitly setting the option in IDE. How to find the where the corresponding dll is loaded from ?

1>Searching libraries
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib:
1>      Found _memcpy
1>        Referenced in deflate.obj
1>        Referenced in gzio.obj
1>        Referenced in infback.obj
1>        Referenced in inflate.obj
1>        Loaded msvcrtd.lib(MSVCR80D.dll)

In the above case, where is MSVCR80D.dll is coming from ? I searched in the VC directory for the dll and more than 10 results popped up. Is there any easy way to find which one is exactly loaded ?

The DLLs are actually loaded at runtime, not at link time. Actually, native DLLs don't even have to be present in the machine to do the link.

You can see that information running your program in the debugger (usually F5) and the opening the "Modules window" from the "Debug" submenu, IIRC.

Also, you can analyze the executable and try deducing which DLL will be loaded. The best tool for that is, no doubt, the Dependency Walker . It can analyze DLLs too (cool) but it may have troubles with managed DLLs.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM