Process Monitor 学习笔记(5.24):工具栏参考与高效快捷键指南

Process Monitor 学习笔记(5.24):工具栏参考与高效快捷键指南

Process Monitor 学习笔记(5.24):工具栏参考与高效快捷键指南

目标:熟练掌握 Procmon 工具栏与快捷键,在最短点击路径内完成"开始/停止采集 → 降噪 → 快速定位 → 导出复盘"的全流程。


一、工具栏一览:每个按钮该在什么时机用?

下面按排障动作链排序(从打开 Procmon 到保存证据),方便记忆。

1) Capture(开始/暂停采集)

  • 用途:切换事件采集开关;复现前暂停 → 先设过滤 → 开采集 → 复现 → 立刻暂停,避免海量噪音。
  • 实战:卡顿/高 IO 突发 → 先暂停采集设置好过滤,再开始抓"爆发窗口"。

2) Clear(清空当前视图)

  • 用途:只清视图,不会改变过滤器。用来"从零点"抓一次干净的复现片段。
  • 实战 :做 A/B 对比(改配置前后),各清一次、各抓一次,两段日志对比变化更直观。

3) Filter(筛选器面板)

  • 用途:定义包含/排除条件(进程名、路径、操作、结果、PID/TID、Session、用户等)。

  • 实战

    • 先加 Process Name is 你的进程 → Include
    • 再加 Result is NOT SUCCESS → Highlight(失败事件高亮)
    • 需要专注"文件/注册表"就勾选类别开关(见下)。

4) Highlight(高亮规则)

  • 用途 :不排除事件,只着色标出重点(失败、耗时长、关键路径前缀)。

  • 推荐

    • Result is NAME NOT FOUND / ACCESS DENIED / REPARSE
    • Duration ≥ 3 ms(或更高)
    • Path contains \Software\YourApp / Path starts with C:\HotPath\

5) 事件类别开关(5 个开/关按钮)

  • 用途一键隐藏整类噪音。常见 5 类:

    • File System(文件)
    • Registry(注册表)
    • Process & Thread(进程/线程)
    • Network(网络)
    • Profiling(采样事件)
  • 实战 :排查安装/升级 → 多为 文件+注册表

    启动卡顿 → 同时看 文件+注册表+进程/线程

    连网失败 → 打开 Network 并结合结果字段。

6) Autoscroll(自动滚动)

  • 用途:采集时视图"追随最新事件"。
  • 实战 :稳定复现场景时开启;做点射抓特定窗口时关闭(避免滚动打断查看)。

7) Find(搜索)

  • 用途:快速定位某字符串(路径片段、DLL 名、键名、用户、Session、CLSID 等)。
  • 实战 :配合高亮使用,先搜,后只看着色处,效率更高。

8) Save / Open(保存 / 打开)

  • 用途:保存 PML(原始格式,供二次分析)或导出 CSV/JSON(便于比对与留痕);打开历史追踪。
  • 实战 :现场只需 PML + 精选 CSV 两份:PML留底,CSV供报告图表化与差异分析。

二、三套"按钮组合拳",应对 80% 场景

A. 启动慢 / 登录慢

  1. 关 Autoscroll → Clear
  2. 开 Capture → 执行启动/登录 → 立刻停
  3. 只开 File+Registry+Process/Thread 类别
  4. Filter:Process Name is <app> / Duration ≥ 3ms → Highlight
  5. Duration 列降序,看"慢调用链"→ 双击事件看 Stack / Detail

B. 文件无法创建/覆盖/删除

  1. 只开 File System
  2. Filter:Path contains 目标路径 → Include
  3. Highlight:Result is ACCESS DENIED / SHARING VIOLATION / PATH NOT FOUND
  4. Detail(Desired Access / Disposition / ShareMode) 判断权限/共享模式/目录存在性。

C. 网络超时/代理问题

  1. 打开 Network ,必要时同时开 File(看本地 hosts/证书读写)
  2. Filter:Process Name is <app>Path contains :443 / :80 / 代理进程名
  3. 关注 Result / Detail(RESET、TIMEOUT、NAME NOT FOUND、TLS 失败等)。

三、列与视图:别忘了把信息"摆到眼前"

View → Select Columns:勾你需要的列,让关键字段一眼能见

  • 常驻:Time of Day / Process Name / PID / Operation / Result / Path / Duration
  • 进阶:Detail / TID / User / Session / Integrity / Architecture
  • 网络:Sequence / Event Class / Remote Address / Port(版本依产品细节)

提示:对"Duration/Result/Operation/Path"列做排序切换(升/降序),能快速暴露异常。


四、常用快捷键(高频、记这 7 个就够)

不同版本的默认快捷键可能略有差异,下列为常用组合的通用记忆法:

  • 开始/暂停采集Ctrl + E
  • 清空当前视图Ctrl + X
  • 筛选器Ctrl + L
  • 高亮规则Ctrl + H
  • 保存Ctrl + S
  • 打开Ctrl + O
  • 查找Ctrl + F

小技巧:把"Ctrl+E / Ctrl+X / Ctrl+L / Ctrl+H"连读记为 EXLH,几乎覆盖采集到降噪全流程。


五、两项进阶选项(不在工具栏,但强烈建议掌握)

  • Drop Filtered Events(丢弃被过滤的事件)

    • 减少内存与日志体积,适合长时间采集;前提是过滤条件已足够准确
  • Enable Boot Logging(引导期采集)

    • 抓"开机慢/驱动冲突/登录卡"根因;记得保存 PML,避免覆盖。

六、常见踩坑与规避

  • 一直开着 Autoscroll → 滚动到眼花,漏看关键事件。
    对策:复现阶段关闭,定位时再开。
  • 不设过滤就开始抓 → 短时间就上百万行。
    对策先过滤、再采集;场景明确就只开必要的事件类别。
  • 只看 Result 不看 Detail/Stack → 诊断精度差。
    对策 :双击事件看 Detail(访问掩码/共享模式/重解析)Stack(调用路径)

七、模板化你的工具栏与过滤器

  • 固化一套 "启动慢""文件权限""网络连通"过滤/高亮模板
  • 把常用列集保存为配置,团队共享;
  • 采集前后各 Clear 一次留出"分界",报告可读性更高。

结语

工具栏就是你的"战术面板"。把 Capture / Clear / Filter / Highlight / 类别开关 / Save 练成肌肉记忆,配合列视图与少量快捷键,你就能把 Procmon 玩成外科手术刀:只切需要的那一层噪音,直达问题的"病灶"。

相关推荐
deng-c-f6 小时前
Linux C/C++ 学习日记(30):协程(一):同步和异步、协程的简要介绍、用户态CPU调度的实现
学习·协程·同步/异步
摇滚侠6 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 核心语法 笔记39
spring boot·笔记·后端·thymeleaf
张人玉7 小时前
WPF 常用样式属性及示例笔记
笔记·wpf
hello kitty w7 小时前
Python学习(11) ----- Python的泛型
windows·python·学习
讽刺人生Yan7 小时前
RFSOC学习记录(五)带通采样定理
学习·fpga·rfsoc
stark张宇7 小时前
超越 Hello World:深入小程序 Hybrid 初衷、安全配置与上线全链路
nginx·微信小程序·php
报错小能手8 小时前
linux学习笔记(49)Redis详解(1)
linux·笔记·学习
Java陈序员8 小时前
免费开源!一款操作 MySQL 和 MariaDB 的 Web 界面工具!
mysql·docker·php·mariadb
QT 小鲜肉8 小时前
【个人成长笔记】在本地Windows系统中如何正确使用adb pull命令,把Linux系统中的文件或文件夹复制到本地中(亲测有效)
linux·windows·笔记·学习·adb