1

我正在尝试在具有数十个同名共享库的机器上调试一些共享库问题。我需要在 10 个同名文件中找到一个正常工作的 .dll。

当我们移动计算机时,程序似乎加载了错误的 dll。

在工作计算机上,我想确切地确定程序选择了哪个 dll。我能够获得显示的 dll 的名称,但不是完整路径。

有人知道如何显示完整路径吗?

4

2 回答 2

4

您确实想下载并运行Dependency Walker。在此程序中打开您的应用程序将显示其所有依赖项,显示它们的路径(并且您可以显示完整路径)并显示它无法找到的那些 DLL。

如果您的某些 DLL 是动态加载的,只需使用配置文件选项来实际执行应用程序。

Depency Walker 配置文件选项

这将另外显示在您的程序中稍后加载的那些依赖项。

于 2013-06-19T21:00:24.240 回答
2

我建议使用Process Explorer

这将让您查看已加载的 DLL(甚至是动态加载的),以及其他有用的信息,例如套接字、安全性、环境变量、线程和字符串,所有这些都无需启动调试器。

于 2013-06-19T21:10:32.597 回答