排查.exe或服务启动失败时,首选Dependencies查看完整依赖树,其次用dumpbin快速查直接依赖,再用Process Monitor捕获运行时实际加载的DLL。

排查一个突然报错的.exe程序或系统服务无法启动时,你最需要立刻知道它到底在运行时加载了哪些DLL——是缺了vcrt?还是找不到某个私有库?或是32/64位混用导致崩溃?
用 Dependencies 查看任意 EXE 或 DLL 的完整依赖树(推荐 Win10/Win11)
这一步操作起来很简单,直接把文件拖进去就行。打开 Dependencies 官方下载页(https://gitcode.com/open-source-toolkit/528b1),下载最新版 Dependencies_x64_Release.zip,解压后双击 DependenciesGui.exe 启动。
将目标 EXE 或 DLL 文件直接拖入 Dependencies 主窗口灰色区域,软件会立即开始扫描。注意:首次分析大型程序(如 Chrome.exe)可能需 20~40 秒,期间界面无响应属正常,【切勿点叉关闭或强制结束进程】,否则缓存损坏需重扫。
扫描完成后左侧显示层级依赖树,右侧“Problems”标签页自动高亮缺失模块、架构不匹配(如 x64 程序尝试加载 x86 DLL)、导出函数未解析等真实错误。红色图标代表该 DLL 在本机完全未找到;黄色感叹号表示找到了但版本过低或签名异常。
用 Windows 自带工具 dumpbin 快速列出直接依赖(需 Visual Studio 或 Build Tools)
方法一:命令行调用 dumpbin(适合已装 VS 的开发者)
以管理员身份打开 x64 Native Tools Command Prompt for VS 2022 → 输入 dumpbin /dependents "C:\path\to\your\app.exe" → 回车执行。
方法二:若未安装 VS,可单独下载 Microsoft C++ Build Tools(约 1.2GB),安装时勾选“CMake tools for Visual Studio”和“Windows 10/11 SDK”即可获得 dumpbin。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
输出结果只显示一级直接依赖(即 PE 头 Import Table 中声明的 DLL),不递归展开,因此看不到间接依赖链。但胜在极快,1 秒内出结果,适合批量筛查。
用 Process Monitor 实时捕获服务启动时实际加载的 DLL(适用于 svchost.exe 等系统服务)
第一步:从微软官网下载 ProcMon64.exe(无需安装,绿色单文件)
第二步:以管理员权限运行 → 点击工具栏“Filter” → “Filter…” → 添加规则:
– Process Name 【is】 svchost.exe(或你的服务名,如 wuauserv)
– Operation 【is】 LoadImage
– Result 【is】 SUCCESS
→ 点击“Add” → “OK”
第三步:在命令行中执行 net start wuauserv(或你目标服务名)→ 等待服务状态变为“正在运行” → 立即点击 ProcMon 工具栏“Capture Events”按钮(红色暂停图标)停止捕获。
此时列表中所有 Operation=LoadImage 且 Result=SUCCESS 的 Path 列,就是该服务启动瞬间真实加载进内存的每一个 DLL 的绝对路径。注意:此法捕获的是运行时行为,不包含静态链接但未触发加载的 DLL。










