依赖walker挂起

Dam*_*ian 13 dll office-2010 depends windows-8.1

在我的客户端 PC 上加载 my.xll 插件时,我遇到了问题。它在启动时崩溃 Excel(可能是因为缺少依赖的 dll)。

我知道可以在配置文件模式下使用依赖项walker来找出.exe运行时加载了哪些dll。当我尝试分析 Excel 时,依赖项walker 挂起,但我找不到原因。

在命令窗口中,我运行了这个:

C:\Program Files (x86)\Windows Kits\8.1\Tools\x86>start /wait depends.exe /c /f:1 /pb /pp:1 /pg:1 /oc:d:\temp\Log。 txt "C:\Program Files (x86)\Microsoft Office\Office14\excel.exe"

但它挂了。 在此处输入图片说明

我使用的是 Dependency walker 版本 2.2.9600 x86、Windows 8.1 x86、office 2010 x86

我还尝试使用全新安装的 win 8.1 和 Office 2010 来设置 VM 机器,但是当我加载 .xll 时,XL 不会在该机器上崩溃。

我在另一台机器 Windows 10 x64、office 2013 x64 和dependency walker x64 上工作。我可以分析 Excel。

注意:我最终使用了 Sysinternals Process Explorer。有点复杂,但有效。

Сер*_*тин 23

重新配置模块搜索顺序。尝试禁用除 KnownDLL 和应用程序目录之外的所有内容,然后打开文件进行检查。依赖项遍历器构建非常大的子依赖项列表,并且 GUI 元素在此操作上挂起:( 在此输入图像描述

  • **2022:** +1 这应该是“接受的答案”!没有什么可安装的。不需要开源替代方案。一旦按照上述配置,DW_在这些问题发生之前就以我记忆中的速度打开_。先生,你值得一块饼干!:) (3认同)

And*_*rts 17

我目前使用的是 Windows 10 build 1809,并且我尝试使用的每个 dll 都会挂起depends.exe。将取决于主页说: “Dependency Walker中运行在Windows 95,98,ME,NT,2000,XP,2003,Vista中,7和8”,所以我想这是不支持的。

Try Dependencies - 一个开源的现代 Dependency Walker,它对我来说很好用。


Mik*_*ark 6

Microsoft 一直在缓慢地向 Windows 操作系统 API 库添加模块化、版本控制和间接性。1这项工作始于 Windows 7,但仅在最近的 Windows 10 版本中,这项举措才触及了一些核心 win32/内核库,这些库基本上所有传统 Windows 二进制文件都链接到并使用。

天真的依赖遍历器会为自己创建一个图组合爆炸,他们尝试在没有一些额外逻辑的情况下渲染完整的依赖图来短路这一间接层,或者将图搜索的深度限制为在某个深度按需进行。如果你的程序比较简单,depends.exe最终会唤醒并为你渲染依赖图,但可能需要几个小时。

我不知道作者是否depends.exe打算更新它,但与此同时,正如 Andrew 在他的回答中指出的那样,lucasg/DependenciesGitHub 上的项目似乎没有遇到同样的问题。

另请参阅此 SO 帖子:Dependency Walker: missing dlls