Dependencies现代化exe和DLL运行的依赖查看器,是系统或软件使用排错神器。使用Dependencies查看exe或dll等运行依赖项方法:
到https://github.com/lucasg/Dependencies/releases下载最新的Dependencies_x64_Release.zip
解压运行DependenciesGui.exe,然后拖拉exe或dll文件到软件窗口即可
或者是菜单操作:点击 File → Open 选择文件

查看解析依赖树
左侧面板:以树状结构显示所有依赖的 DLL,展开可查看层级。
右侧面板:
Imports:该文件调用的外部函数。
Exports:该文件提供的函数。
DLL 属性:路径、版本、架构(32/64位)
说明三个软件的区别:
Process Explorer(Procexp):当前系统所有进程查看器,看正在运行什么、占用文件、加载了哪些 DLL
Dependencies:静态分析 EXE/DLL 编译时写死的依赖
Process Monitor(ProcMon):实时录像!全程记录程序所有系统行为!动态追踪软件行为!
这里也说一说Process Monitor(ProcMon)能干什么:
对做系统精简最实用场景
到https://github.com/lucasg/Dependencies/releases下载最新的Dependencies_x64_Release.zip
解压运行DependenciesGui.exe,然后拖拉exe或dll文件到软件窗口即可
或者是菜单操作:点击 File → Open 选择文件

查看解析依赖树
左侧面板:以树状结构显示所有依赖的 DLL,展开可查看层级。
右侧面板:
Imports:该文件调用的外部函数。
Exports:该文件提供的函数。
DLL 属性:路径、版本、架构(32/64位)
说明三个软件的区别:
Process Explorer(Procexp):当前系统所有进程查看器,看正在运行什么、占用文件、加载了哪些 DLL
Dependencies:静态分析 EXE/DLL 编译时写死的依赖
Process Monitor(ProcMon):实时录像!全程记录程序所有系统行为!动态追踪软件行为!
这里也说一说Process Monitor(ProcMon)能干什么:
捕获三类系统事件:
文件系统操作:新建 / 读取 / 修改 / 删除文件、访问目录
注册表操作:读写注册表项、查询键值
进程 / 线程事件:创建进程、加载模块、退出进程
它相当于给系统装一个记录仪,把所有软件的一举一动全部日志化。
对做系统精简最实用场景
场景 1:软件启动报错(找不到组件、弹窗报错)
操作流程:
- 清空日志,开始捕获
- 双击启动报错程序
- 停止捕获,筛选该进程
- 寻找
NAME NOT FOUND/PATH NOT FOUND精准定位:程序尝试读取哪个 DLL、注册表路径缺失。
举个例子:精简系统删掉某个组件后软件打不开,用 ProcMon 一眼看到它在寻找某个系统 dll。
场景 2:优化系统、排查开机自启、后台读写硬盘
找到哪个程序疯狂读写磁盘、反复访问注册表。
场景 3:确认程序是否动态加载 DLL
Dependencies 只能看静态导入;
很多软件运行时
LoadLibrary() 动态加载 dll,静态工具看不到,只有 ProcMon 能抓到。场景 4:定位配置文件、缓存文件路径
不知道程序把配置存在注册表哪个位置、哪个文件夹,捕获一次就找到。
重要基础概念
- 捕获的数据量极大!不要长时间无筛选全局捕获,几分钟就能产生 GB 级日志;
- 善用「过滤器」:只保留你要调试的进程 PID / 进程名,过滤噪音。
常用过滤器举例:
Process Name is xxx.exe → Include(只看这个程序)和 Process Explorer 核心区别(一定要分清)
| 工具 | 定位 | 比喻 |
|---|---|---|
| Procexp | 静态快照 | 照片,拍下此时此刻有哪些进程、占用哪些文件 |
| ProcMon | 动态追踪录像 | 监控摄像头,记录从启动到关闭每一次文件 / 注册表访问 |
典型搭配工作流(系统精简排错标准流程)
- Dependencies:先看程序静态依赖列表,做初步预判
- 运行程序同时开启 ProcMon:捕捉运行时动态加载模块、缺失资源
- 如果文件被占用删不掉 → 使用 Process Explorer 查找句柄
文章来源:
网络小编D
版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站立刻删除。
