繁体   English   中英

查找LIB的已加载DLL

[英]Find loaded DLL for LIB

在VS 2005中,我可以通过在IDE中显式设置选项来查看libs链接程序的路径。 如何找到从中加载相应dll位置?

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)

在上述情况下, MSVCR80D.dll是从哪里来的? 我在VC目录中搜索dll,并弹出了10多个结果。 有什么简单的方法可以找到确切加载的一个?

这些DLL实际上是在运行时而不是在链接时加载的。 实际上,本地DLL甚至不必存在于计算机中即可进行链接。

您可以看到该信息在调试器(通常为F5)中运行程序,并从“调试”子菜单IIRC中打开“模块窗口”。

另外,您可以分析可执行文件,然后尝试推断将加载哪个DLL。 无疑,最好的工具是Dependency Walker 它也可以分析DLL(很酷),但可能会对托管DLL造成麻烦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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