【问题标题】:which dlls are being used?正在使用哪些 dll?
【发布时间】:2010-07-18 09:30:32
【问题描述】:

请原谅我对windows的无知,

是否有应用程序可以显示可执行文件尝试使用的 dll(名称、路径)

我假设这可以通过对可执行文件的静态分析和/或在可执行文件运行时通过检查系统调用来完成

【问题讨论】:

    标签: windows dll


    【解决方案1】:

    【讨论】:

    • 我也是 SysInternals 的粉丝 - Swiss Army Chainsaw 工具集,从一开始就应该包含在 Windows 中。但我承认 Dependency Walker 可能是这个特殊用途的更豪华的解决方案。
    • @Carl Smotricz 从未使用过它,sysInternals 对我来说总是足够的,但我会看看 dep walker
    • @redsquare:主要区别在于 Dependency Walker 会告诉您特定 EXE 或 DLL 所具有的依赖关系,因此您可以找出它无法启动的原因,或者您需要发布什么用它。 Process Explorer 可以告诉您在启动进程后加载了哪些库,但它必须为此目的而启动。 Process Monitor 会告诉您操作系统界面上发生的情况,但找出 Dependency Walker 刚刚告诉您的相同内容,有时会很麻烦。
    【解决方案2】:

    试试Dependency Walker。

    Dependency Walker 是一款免费实用程序,可扫描任何 32 位或 64 位 Windows 模块(exe、dll、ocx、sys 等)并构建所有依赖模块的层次树图。对于找到的每个模块,它会列出该模块导出的所有函数,以及其中哪些函数实际上被其他模块调用。另一个视图显示最少的所需文件集,以及每个文件的详细信息,包括文件的完整路径、基地址、版本号、机器类型、调试信息等。

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        依赖步行者

        它非常棒,让您可以看到依赖 DLL 的层次结构。它还显示了 DLL 导出的函数。 我什至用它来解决神秘的错误 127 问题。

        http://www.dependencywalker.com/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-15
          • 1970-01-01
          • 2010-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多