必须用Process Monitor捕获真实I/O轨迹,以管理员身份运行,清空日志并暂停捕获后,设置进程名和Read/Write操作过滤,启动监控复现行为,通过Path列定位文件路径,Stack标签页查看调用堆栈。

要精准定位某个Windows程序运行时读写了哪些文件,必须用Process Monitor捕获真实I/O轨迹,而不是靠猜测或翻注册表——它能显示每一毫秒的ReadFile、WriteFile操作,附带完整路径、字节数、结果代码和调用堆栈。
下载与权限准备
访问 Microsoft Sysinternals 官方页面,下载 Process Monitor(Procmon.exe),当前最新版为 v4.01(2026年9月发布)。
解压后【必须以管理员身份运行 Procmon.exe】,否则无法捕获系统级进程(如 svchost、lsass)和受保护目录(如 C:\Windows\System32)下的文件操作。
清空干扰,暂停捕获
首次启动后,界面会瞬间刷出数万条事件——这是正常现象,但毫无分析价值。
按 Ctrl+X 清空当前所有日志;再按 Ctrl+E 暂停事件捕获(按钮变灰),避免在设过滤器前持续堆积噪音数据。
设置精准过滤规则
目标是只留下你关心的那个程序的文件读写行为。别贪多,分三步加条件:
第一步:点击菜单 Filter → Filter…(或按 Ctrl+L)→ 点击 Reset 清空已有规则。
第二步:添加主进程过滤 → 在第一个下拉框选 Process Name,中间选 is,输入框填你的目标程序名(例如 chrome.exe 或 myapp.exe),勾选 Include,点 Add。
第三步:聚焦文件I/O → 新增一条规则:Operation begins with Read 或 Write(这样能同时捕获 ReadFile、WriteFile、FastIoRead、FastIoWrite 等底层操作),同样选 Include。
⚠️ 注意:不要用 is ReadFile 这种精确匹配,很多现代应用走 FastIo 路径,会漏掉关键事件。
启动监控并复现行为
点 OK 关闭过滤窗口 → 再次按 Ctrl+E 开始捕获(按钮变红)。
立刻运行你的目标程序,或执行你想观察的具体动作(比如点击“保存”按钮、导入一个配置文件、加载某个插件)。
操作完成后,马上按 Ctrl+E 停止捕获——拖得越久,日志越庞大,后续筛选越慢。
定位关键文件路径
在主窗口中,直接看 Path 列,这就是被读写的真实文件全路径;Operation 列标明是 ReadFile 还是 WriteFile;Result 列显示 SUCCESS 或其他错误码(如 SHARING_VIOLATION 表示文件正被占用)。
右键某一行 → 选择 Properties → 切换到 Stack 标签页,可看到调用该I/O的函数链(需提前配置符号服务器才能解析为可读函数名)。
若想导出全部路径用于批量分析,点击 File → Export... → 选择 Tab-separated values (.tsv),用 Excel 打开后对 Path 列去重即可。











