none
有没有工具能够自动地精确地检查一个dll到底缺少哪些依赖库 RRS feed

  • 问题

  •      使用Depends.exe工具可查看一个dll依赖于哪些dll,但是这个查看过程是一个人工过程。如果一个dll依赖于几十上百个dll,这个查看过程就变得非常繁琐。假如动态加载一个dll不成功,有没有工具能够自动地精确地检查一个dll到底缺少哪些依赖库?

    前无古人,后无来者

    2019年4月26日 10:02

全部回复

  • Depends.exe profiler mode


    Visual C++ MVP

    2019年4月26日 14:18
    版主
  • Depends.exe profiler mode


    Visual C++ MVP

           Depends.exe profiler mode只用于打开exe文件时,打开dll并不能运行profiler。难不成我要检测一个dll的依赖库,还得写一个Load这个dll的测试exe吗?

    前无古人,后无来者

    2019年4月28日 1:36
  • 你好,

    >>Depends.exe profiler mode只用于打开exe文件时,打开dll并不能运行profiler。难不成我要检测一个dll的依赖库,还得写一个Load这个dll的测试exe吗?

    Depends.exe是用来反编译VC程序的工具,可以查看PE模块的导入模块以及导入和导出的函数,以及动态剖析PE模块的依赖性和解析C++的函数名称。可分析dll和exe所依赖的dll,可以看到dll以及dll的函数,可以查看导入导出函数。
    PE:可执行文件格式,包括 DLL、EXE、FON。

    Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口。 同时也可以看到每个被依赖的dll中的所有导出的函数接口。

    探寻DLL文件:点击运行depends.exe,选择菜单栏“File->Open(文件->打开)”,然后在文件选择框中选中需要分析的DLL文件并打开。
    要查看模块的依存关系:只需在 Dependency Walker 中打开模块。选择“查看”(View) ->“完整路径”(Full Paths) 来查看依赖文件的完整路径名。

    更多细节,你可以参考以下链接:https://blog.csdn.net/swort_177/article/details/5426848

    Best Regards,

    Jeanine Zhang
    2019年4月29日 2:20
    版主
  • 你好,

    >>Depends.exe profiler mode只用于打开exe文件时,打开dll并不能运行profiler。难不成我要检测一个dll的依赖库,还得写一个Load这个dll的测试exe吗?

    Depends.exe是用来反编译VC程序的工具,可以查看PE模块的导入模块以及导入和导出的函数,以及动态剖析PE模块的依赖性和解析C++的函数名称。可分析dll和exe所依赖的dll,可以看到dll以及dll的函数,可以查看导入导出函数。
    PE:可执行文件格式,包括 DLL、EXE、FON。

    Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口。 同时也可以看到每个被依赖的dll中的所有导出的函数接口。

    探寻DLL文件:点击运行depends.exe,选择菜单栏“File->Open(文件->打开)”,然后在文件选择框中选中需要分析的DLL文件并打开。
    要查看模块的依存关系:只需在 Dependency Walker 中打开模块。选择“查看”(View) ->“完整路径”(Full Paths) 来查看依赖文件的完整路径名。

    更多细节,你可以参考以下链接:https://blog.csdn.net/swort_177/article/details/5426848

    Best Regards,

    Jeanine Zhang

               这个我知道,问题是Depends只是靠人工手动查看,这个不太人性化。


    前无古人,后无来者

    2019年4月29日 3:43
  • 你好,

    也许你可以尝试使用DUMPBIN.EXE。 Microsoft COFF二进制文件转储程序(DUMPBIN.EXE)显示有关公共对象文件格式(COFF)二进制文件的信息。您可以使用DUMPBIN来检查COFF对象文件,COFF对象的标准库,可执行文件和动态链接库(DLL)。

    操作步骤如下:
    1,按开始按钮,键入“dev”。启动名为“VS 2017的开发人员命令提示”的程序
    2,找出您尝试使用的程序集的完整文件路径
    3,在打开的窗口中,键入dumpbin /dependents [path],[path]为步骤2中完整文件的路径。
    4,按enter键

    Best Regards,

    Jeanine Zhang
    2019年4月30日 3:07
    版主