找到为什么要加载DLL

时间:2009-08-12 17:54:22

标签: c++ winapi dll process

我有一个winxp进程,它有各种dll和静态库。我们的一个库是调用ms调试dll,我怀疑它是哪一个但是想在Process Explorer这样的工具中证明它。如何获取我的流程树,以确切了解谁正在加载哪些模块?

2 个答案:

答案 0 :(得分:7)

您可以使用Dependency Walker

等工具

答案 1 :(得分:5)

MS Visual Studio附带的两个工具:

你的.exes和.dll的

Depends.exe会告诉你确切的加载时依赖性。

在.lib文件上运行dumpbin /directives,告诉您静态库传递给链接器的链接器指令。这将揭示来自那里的依赖关系。 这附带Windows SDK“PSDK”,也可用于获取加载时代码。

如果事情在运行时加载,请在k ernel32!LoadLibrary上设置断点,并在触发时检查调用堆栈。 WinDbg调试器(适用于Windows的MS调试工具)对此非常有用。