[英]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.