Dependencies 是一款基于 C# 重写的 Windows 工具,主要用于排查 DLL 加载依赖问题。它源自早期随 Windows SDK 发布的 Dependency Walker(depends.exe),但后者在约 2006 年后已停止维护。作为替代方案,Dependencies 延续并改进了原有思路,帮助开发者分析程序在运行时的依赖关系。

企业微信截图_17669805847411

目前,Dependencies 以无安装包的形式发布,包含两个可执行文件:用于命令行的 Dependencies.exe,以及图形界面的 DependenciesGui.exe。用户只需下载对应版本并解压,直接运行图形界面程序即可。由于二进制文件未签名,运行时可能触发 SmartScreen 提示。工具还附带 ClrPhTester.exe,功能类似 dumpbin,用于非回归测试。

企业微信截图_17669806731439

在解析 PE 文件时,Dependencies 默认不会递归分析子依赖,以避免极高的内存消耗;该行为可在“Options->Properties->Tree build behaviour”中全局调整。可选模式包括仅处理直接子依赖、忽略延迟加载 DLL 的有限递归,以及完整递归分析(需充足时间与内存)。

功能方面,Dependencies 主要复现 depends.exe 的能力,仅支持直接、转发和延迟加载依赖,不支持通过 LoadLibrary 的动态加载。同时,自 1.5 版本起支持 API Set 重定向,并提供导入与导出检查,以及对私有 SxS 清单的有限搜索支持。