资讯动态

Dependencies 依赖分析神器入门:告别停更的 depends.exe,用现代版 Dependency Walker 快速定位 DLL 问题

发布时间:2026/9/19 13:12:44 来源:尧图企业网站定制
Dependencies 依赖分析神器入门告别停更的 depends.exe用现代版 Dependency Walker 快速定位 DLL 问题【免费下载链接】DependenciesA rewrite of the old legacy software depends.exe in C# for Windows devs to troubleshoot dll load dependencies issues.项目地址: https://gitcode.com/gh_mirrors/de/DependenciesDependencies是一款用 C# 重写的开源现代版Dependency Walker依赖分析工具专为 Windows 开发者解决 DLL 缺失 / 依赖加载失败 这类经典难题而生。老牌的 depends.exe 自 2006 年前后就停止更新无法理解 Win8/Win10 的 ApiSet、SxS 清单等新机制而 Dependencies 以全新的 WPF 图形界面 命令行双模式帮助你快速定位 EXE/DLL 的加载依赖问题。为什么需要 Dependencies如果你调试 Windows 程序时遇到过这些场景❌ 程序一启动就弹出 找不到 XXX.dll❌ 在自己机器上好的程序到测试机上加载失败❌ 分不清到底是缺哪个 DLL还是缺某个API 导出❌ 老旧的 depends.exe 在新系统下解析结果一片混乱那么 Dependencies 就是为你准备的解决方案。它模拟了 Windows 加载器NT Loader的 DLL 搜索顺序来解析依赖并可视化呈现每个模块的解析状态。核心功能一览 依赖树可视化分析把程序拖进窗口Dependencies 会自动解析出完整的依赖树哪些模块找到了、哪些没找到、哪些是延迟加载Delay Load、哪些通过 ApiSet 重定向一目了然。未解析成功的模块会以醒目的图标标记。 导入/导出 API 精确对比它不仅看 DLL 在不在还会逐个比对Import 与 Export——某个函数在目标 DLL 里到底有没有导出、是按名字还是按序号Ordinal导入都能在列表里确认。支持对 C 装饰名自动反装饰demangle内置 llvm-demangle 与 demumble 两套反命名引擎。⚙️ 现代 Windows 特性支持ApiSet Schema 解析正确解读 Win8.1 的 API 集重定向SxS 清单解析分析 SxsManifest.cs 处理的私有清单依赖CLR 程序集引用枚举.NET 程序引用了哪些程序集也能看到已知 DLLKnownDlls与系统 APISet 表导出快速上手指南一键安装下载即用的两种形态项目提供两个可执行文件无需安装程序解压即可运行二进制用途DependenciesGui.exeWPF 图形界面日常排查首选Dependencies.exe命令行工具适合脚本与 CI 集成⚠️ 小提醒由于涉及 /clr 编译限制运行前需安装 Visual C Redistributable因未签名SmartScreen 可能给出提示。GUI 模式3 步定位 DLL 问题打开文件File → Open选择你的 .exe/.dll或直接拖拽进窗口查看依赖树左侧树视图展示各级依赖红色标记即问题模块按F5可刷新分析见 MainWindow.xaml.cs深入细节切换 Imports / Exports / Modules 视图列表头部支持过滤FilterControl.cs可快速筛出未找到的导入项CLI 模式一条命令输出依赖链命令行工具入口逻辑见 Program.cs支持丰富的子命令Dependencies.exe -imports FILE导出导入表Dependencies.exe -chain FILE输出完整依赖树Dependencies.exe -manifest FILE查看嵌入清单Dependencies.exe -knowndll/-apisets导出系统 KnownDlls 与 ApiSet 表加-json可将结果导出为 JSON方便二次处理-depth N限制递归深度高级技巧自定义搜索路径与递归策略自定义搜索文件夹DLL 加载顺序由系统规则决定已知 DLL → 程序目录 → System32 → 环境变量等解析逻辑在 FindPeModule.cs。如果你的 DLL 放在非标准目录可通过菜单Customize search folders添加自定义搜索路径模拟实际运行环境。谨慎选择递归分析深度默认情况下Dependencies 只解析直接子依赖ChildOnly 模式。你可以在Options → UserSettings中切换为RecursiveOnlyOnDirectImports跳过延迟加载或Recursive完全递归。 作者的原话提醒完全递归分析非常吃内存即便是简单 PE 也可能占用超过 1 GB 内存请确保手头有充足的内存和时间 源码结构速览项目采用多项目解决方案Dependencies.sln架构清晰Dependencies/命令行工具CLI 入口与 JSON 输出DependenciesGui/WPF 图形界面依赖树、导入导出视图、搜索过滤DependenciesLib/核心库——FindPeModule.cs 模拟加载器、BinaryCache.cs 防止 DLL 文件锁定ClrPhlib/C/CLI 封装层底层依赖 Process Hacker 的 phlib 完成 PE 解析的重活third_party/phnt 头文件、Dragablz 可停靠窗口库等第三方组件已知局限诚实说明Dependencies 复刻了 depends.exe 的能力边界✅ 支持直接依赖、转发导出、延迟加载❌不支持LoadLibrary动态加载的 DLL作者也表示大概率不会支持SxS 目前仅支持私有清单的最小化支持总结作为 depends.exe 的现代继承者Dependencies免费开源、支持 Win8/10/11 的 ApiSet 与清单机制GUI 与 CLI 双模式覆盖日常排查与自动化场景。下次再遇到 DLL 找不到 的报错不妨先用它的依赖树看一眼——大概率 3 分钟内就能锁定真凶。【免费下载链接】DependenciesA rewrite of the old legacy software depends.exe in C# for Windows devs to troubleshoot dll load dependencies issues.项目地址: https://gitcode.com/gh_mirrors/de/Dependencies创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价