我的客户端PC加载my.xll插件时遇到问题。 它在启动时崩溃Excel(可能是因为缺少依赖dll)。
我知道可以在配置文件模式下使用dependency 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”
我使用的是依赖沃克版本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。
答案 0 :(得分:3)
我目前在Windows 10 build 1809上,我尝试使用的每个dll都将挂载depends.exe。 depends主页上显示“ Dependency Walker可在Windows 95、98,Me,NT,2000,XP,2003,Vista,7和8上运行”,因此我猜它不受支持。
尝试Dependencies-一个开源的现代Dependency Walker,对我来说很好。
答案 1 :(得分:3)
Microsoft 非常缓慢地向 Windows 操作系统 API 库添加了模块化、版本控制和间接性。1这项工作始于 Windows 7,但仅在最近的 Windows 10 版本中具有此功能倡议击中了一些核心的 win32/kernel 库,这些库基本上所有传统的 Windows 二进制文件都链接到并使用。
天真的依赖遍历器会为自己创建一个图组合爆炸,他们尝试在没有一些额外逻辑的情况下渲染完整的依赖图来短路这一间接层,或者将图搜索的深度限制为在某个特定的需求深度。如果您的程序比较简单,depends.exe
最终会唤醒并为您呈现依赖关系图,但可能需要几个小时。
我不知道 depends.exe
的作者是否打算更新它,但与此同时,正如 Andrew 在他的回答中指出的那样,GitHub 上的 lucasg/Dependencies
项目似乎没有受到影响同样的问题。
另请参阅此 SO 帖子:Dependency Walker: missing dlls