【发布时间】:2009-08-12 17:54:22
【问题描述】:
我有一个包含各种 dll 和静态库的 winxp 进程。我们的库之一是调用 ms 调试 dll,我怀疑它是哪一个,但想在像 Process Explorer 这样的工具中证明它。如何获取我的流程树,以准确查看谁在加载哪些模块?
【问题讨论】:
我有一个包含各种 dll 和静态库的 winxp 进程。我们的库之一是调用 ms 调试 dll,我怀疑它是哪一个,但想在像 Process Explorer 这样的工具中证明它。如何获取我的流程树,以准确查看谁在加载哪些模块?
【问题讨论】:
您可以使用Dependency Walker等工具
【讨论】:
MS Visual Studio 附带的两个工具:
Depends.exe 用于您的 .exe 和 .dll 将准确告诉您加载时依赖项是什么。
在 .lib 文件上运行 dumpbin /directives 以告诉您静态库将哪些链接器指令传递给链接器。这将揭示来自那里的依赖关系。
它带有 Windows SDK“PSDK”,也可用于获取加载时间的依赖。
如果事情在运行时被加载,请在 kernel32!LoadLibrary 上设置一个断点,并在它被触发时检查调用堆栈。 WinDbg 调试器(适用于 Windows 的 MS 调试工具)非常适合。
【讨论】: