news 2026/5/20 4:35:27

《Windows Sysinternals实战指南》5.12 Process Monitor 学习笔记:工具栏参考与高效实战手册

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《Windows Sysinternals实战指南》5.12 Process Monitor 学习笔记:工具栏参考与高效实战手册

🔥个人主页:杨利杰YJlio
❄️个人专栏:《Sysinternals实战教程》 《Windows PowerShell 实战》 《WINDOWS教程》 《IOS教程》
《微信助手》 《锤子助手》 《Python》 《Kali Linux》
《那些年未解决的Windows疑难杂症》
🌟让复杂的事情更简单,让重复的工作自动化


《Windows Sysinternals实战指南》5.12 Process Monitor 学习笔记:工具栏参考与高效实战手册

  • 1. 为什么要专门写一篇 Procmon 工具栏手册
  • 2. 工具栏的本质:把排障动作压缩成按钮
  • 3. Capture、Clear、Autoscroll:先把现场控制住
    • 3.1 Capture:开始和暂停,不是“随便点一下”
    • 3.2 Clear:复现前必须清屏
    • 3.3 Autoscroll:观察时打开,分析时关闭
  • 4. 事件类别 5 开关:它们不是过滤器
    • 4.1 初学者推荐开关组合
  • 5. Filter 与 Highlight:先过滤,再高亮
    • 5.1 万能三步走
    • 5.2 高亮规则建议
    • 5.3 不要过早排除 SUCCESS
  • 6. Process Tree、Find、Stack:三把导航刀
    • 6.1 Process Tree:先看谁启动了谁
    • 6.2 Find:快速定位关键字
    • 6.3 Stack:找真正触发者
  • 7. Drop Filtered Events、Backing Files、History Depth:长跑体积控制三件套
    • 7.1 Drop Filtered Events:长跑前要慎重确认
    • 7.2 Backing Files:把采集写到磁盘
    • 7.3 History Depth:主要影响界面,不等于 PML 上限
  • 8. Save 与 Open:PML 是证据,CSV 是统计视图
    • 8.1 PML:优先保存的原始证据
    • 8.2 CSV:适合 Excel 和多源对齐
    • 8.3 标准证据包建议
  • 9. 我的默认工具栏模板
    • 9.1 常规软件启动慢模板
    • 9.2 文件保存失败模板
    • 9.3 插件加载异常模板
  • 10. 一键排障实战手册:清屏、捕获、复现、暂停、保存
    • 10.1 针对用户远程协助的简化话术
    • 10.2 工单记录模板
  • 11. 常见误区排雷
    • 11.1 第一个异常点比最后一个错误更重要
  • 12. 总结:会用按钮,才会稳定交付证据

1. 为什么要专门写一篇 Procmon 工具栏手册

很多人第一次打开 Process Monitor,最容易被两件事劝退:第一,界面里事件刷得太快;第二,工具栏按钮很多,看起来都像“高级功能”。结果就是只会点开始、停止、过滤,然后面对几十万行事件继续发懵。

但 Procmon 的工具栏并不是摆设。它其实把排障的几个核心动作都压缩在按钮里:开始捕获、清空现场、控制事件类别、过滤、搜索、进程树、保存、打开、控制长跑体积。只要这些按钮的边界搞清楚,Procmon 就会从“日志洪水制造机”变成一把可以稳定交付证据的手术刀。

我的理解是:Procmon 工具栏不是功能清单,而是一套排障动作顺序。真正要学的不是每个按钮叫什么,而是什么时候点、为什么点、点完看什么。

这张图对应本文核心:工具栏按钮要从“图标记忆”升级为“排障流程”。

对于企业桌面支持来说,这一篇尤其适合做成团队内训材料。因为一线同事不一定需要一开始就理解 Windows 内核回调、Minifilter、注册表回调、调用栈符号解析这些底层细节,但必须知道:复现前要先清屏,分析时要暂停,长跑前要先过滤,取证保存要优先 PML,类别开关不能误当成过滤器。

2. 工具栏的本质:把排障动作压缩成按钮

Procmon 的工具栏可以粗略分成五类:采集控制、事件类别、过滤高亮、导航分析、保存协作。每一类对应排障中的一个阶段。

准备复现

清屏 Clear

开始捕获 Capture

复现问题

暂停捕获

过滤 / 高亮

Process Tree / Find / Stack

保存 PML / 导出 CSV

形成证据包

这个顺序非常重要。你不能一边大量事件继续滚动,一边认真分析;也不能不设过滤就直接长时间抓取;更不能只截图不保存 PML。工具栏的意义,就是把这些动作按正确顺序串起来。

不要把 Procmon 当成“打开就抓”的工具。没有清屏、没有过滤、没有保存策略的抓取,后续复盘价值会很低。

工具栏模块代表按钮核心作用
采集控制Capture / Clear / Autoscroll控制现场是否继续产生事件
事件类别Registry / File / Process / Network / Profiling控制当前显示哪些事件类型
过滤高亮Filter / Highlight降噪和拉出异常
导航分析Process Tree / Find / Stack定位进程链、关键字和调用来源
文件协作Open / Save保存证据、离线复盘、团队交接
长跑控制Drop Filtered Events / Backing Files控制体积和稳定性

如果只记一条原则:先控制现场,再缩小范围,最后保存证据。

3. Capture、Clear、Autoscroll:先把现场控制住

Procmon 排障的第一步不是看日志,而是控制采集窗口。Capture、Clear、Autoscroll 这三个按钮看似简单,但用错了会直接影响后续证据质量。

3.1 Capture:开始和暂停,不是“随便点一下”

Capture 用于开始或暂停事件采集,常见快捷键是Ctrl + E。建议的标准动作是:先暂停捕获,配置过滤器和列视图,清屏后再开始捕获,复现问题后立刻暂停。

标准动作: 暂停捕获 → 配置过滤 → 清屏 → 开始捕获 → 复现问题 → 立刻暂停

暂停不是结束,而是把现场冻结下来,方便你稳定分析。

3.2 Clear:复现前必须清屏

Clear 用于清空当前窗口事件,常见快捷键是Ctrl + X。它不会修复问题,也不是删除系统日志,只是清掉当前 Procmon 窗口里的事件列表。

复现前清屏的价值很直接:你能确定后面看到的事件就是本次复现产生的,而不是上一次打开软件、刷新桌面、后台同步带来的历史噪声。

复现前 Ctrl + X,是 Procmon 现场取证的基本动作。

3.3 Autoscroll:观察时打开,分析时关闭

Autoscroll 会让列表自动跟随最新事件滚动。这个按钮适合观察“系统是否还在疯狂刷事件”,但不适合做细节分析。分析时如果 Autoscroll 没关,光标会被新事件不断拖走,阅读体验很差。

Autoscroll 开着分析日志,是很多新手看不清 Procmon 的原因之一。

4. 事件类别 5 开关:它们不是过滤器

Procmon 工具栏里有几个常见的事件类别按钮:Registry、File System、Process & Thread、Network、Profiling。这里最容易踩坑的一句话是:它们更接近显示开关,不等同于完整过滤器。

类别按钮可以帮你快速减少当前视图里的事件类型,让界面不那么拥挤。但如果你要做精准取证、长期采集、日志体积控制,不能只依赖类别按钮,而应该配合 Filter 和 Drop Filtered Events。

类别常见事件适合问题
RegistryRegOpenKey / RegSetValue / RegQueryValue配置、策略、加载项、权限
File SystemCreateFile / ReadFile / WriteFile / QueryDirectory文件访问、保存失败、路径缺失、占用
Process & ThreadProcess Create / Process Exit / Load Image父子进程、启动链、自启动、DLL 加载
NetworkTCP Connect / Send / Receive连接失败、代理、网络等待
ProfilingCPU 采样事件高 CPU、卡顿热点

初步排障时,建议先开 File System + Registry;涉及启动链再补 Process & Thread;怀疑网络等待再补 Network;性能热点再短时间开 Profiling。

4.1 初学者推荐开关组合

如果不知道该开哪些,建议从最稳的组合开始:File System、Registry、Process & Thread。这个组合能覆盖大多数桌面应用启动、保存、安装、配置读取、权限异常问题。

推荐默认: File System:开启 Registry:开启 Process & Thread:开启 Network:按需开启 Profiling:默认关闭,必要时短时间开启

Profiling 不建议默认长时间开启。它对性能热点有价值,但会增加事件量和分析复杂度。

5. Filter 与 Highlight:先过滤,再高亮

Filter 和 Highlight 是 Procmon 里最常用、也最容易被混用的两个功能。Filter 决定“哪些事件留下来”,Highlight 决定“哪些事件被标出来”。前者负责降噪,后者负责提醒。

正确顺序是:先用 Filter 收窄范围,再用 Highlight 拉出异常。

5.1 万能三步走

日常排障中,可以先按下面三步走。这个套路不花哨,但命中率很高。

第一步:锁进程 Process Name is yourapp.exe → Include 第二步:去噪声 Result is SUCCESS → Exclude 第三步:收口路径或操作 Path contains \Config\ Operation is CreateFile Result contains DENIED / VIOLATION / NOT FOUND

如果进程父子链复杂,比如 Office 拉起脚本、安装器拉起子进程、服务进程再拉子进程,先用 Process Tree 找到父子链,再对整段链路做过滤。

5.2 高亮规则建议

高亮不要配置太多,颜色太多等于没有重点。建议先保留四类:权限问题、路径问题、共享冲突、PMARK 标记。

Result is ACCESS DENIED → 红色 Result is NAME NOT FOUND → 橙色 Result is SHARING VIOLATION → 紫色 Path contains PMARK → 蓝色 Duration > 0.1s → 黄色

高亮只负责让你看见异常,它不会减少事件量。真正降低噪声靠 Filter。

5.3 不要过早排除 SUCCESS

很多教程会建议先排除 SUCCESS,这在找失败码时很有效。但如果你分析的是性能问题,比如启动慢、登录慢、卡顿,成功事件也可能是关键证据。一个文件访问全是 SUCCESS,但每次 Duration 都很长,它仍然可能是问题来源。

权限类问题可以先排除 SUCCESS;性能类问题不要一上来就排除 SUCCESS。

6. Process Tree、Find、Stack:三把导航刀

当过滤和高亮把范围缩小后,下一步就要靠导航工具继续下钻。Process Tree 看关系,Find 找关键字,Stack 追调用来源。这三把刀能把“看到异常”推进到“解释异常”。

6.1 Process Tree:先看谁启动了谁

Process Tree 用树形结构展示进程父子关系、启动时间、命令行、路径、用户和完整性级别。它特别适合处理 Office 拉起脚本、安装器拉子进程、服务反复重启、同名进程混淆等问题。

打开路径: Tools → Process Tree

遇到“是谁拉起来的”这类问题,不要在主表硬翻,先看 Process Tree。

6.2 Find:快速定位关键字

Find 常用快捷键是Ctrl + F。它适合搜路径、错误码、模块名、PMARK 标记、注册表键名。对于你前面 5.11 中提到的 PMARK 语义锚点,Find 是最高效的入口。

常见搜索: PMARK ACCESS DENIED SHARING VIOLATION Addins CLSID NTUSER.DAT

6.3 Stack:找真正触发者

Stack 的价值是把某一条文件、注册表或网络事件追到调用来源。尤其是在安全软件、DLP、EDR、同步盘、插件、加载项介入时,Stack 往往能暴露关键模块。

Stack 不是默认万能。采集前未开启调用栈,事后无法完整还原;符号没配好,也会影响可读性。

推荐符号路径: srv*C:\Symbols*https://msdl.microsoft.com/download/symbols

看 Stack 时,不要被系统模块淹没,重点找非系统、反复出现、与异常同步的 DLL 或驱动。

7. Drop Filtered Events、Backing Files、History Depth:长跑体积控制三件套

如果只是抓 30 秒,体积问题还不明显。一旦要抓 30 分钟、几个小时甚至全天,Procmon 的日志体积就会成为主要风险。这里必须理解三个开关:Drop Filtered Events、Backing Files、History Depth。

7.1 Drop Filtered Events:长跑前要慎重确认

Drop Filtered Events 的含义是:被过滤器排除的事件不再保留。它能显著降低体积,但代价也很明确:被丢弃的事件事后无法找回。

取证场景慎用 Drop Filtered Events;长时间追踪可以用,但前提是过滤器已经验证过。

7.2 Backing Files:把采集写到磁盘

Backing Files 用于把事件写入磁盘文件,适合长时间采集、无人值守采集、复现时间不确定的问题。建议放在非系统盘,避免和系统盘、数据库盘、高 IO 业务盘抢资源。

建议路径: D:\ProcmonLogs\case_yyyyMMdd_HHmm.pml

长跑采集不要只靠内存窗口,应该配合 Backing Files 写盘。

7.3 History Depth:主要影响界面,不等于 PML 上限

History Depth 用于控制界面保留的历史事件数量。它对 UI 响应和内存压力有帮助,但不要误以为它能完整控制 Backing File 的大小。真正控制 PML 体积,还是要靠过滤、Drop 和轮转切片。

长时间采集

先验证过滤器

按需开启 Drop Filtered Events

Backing File 写入非系统盘

计划任务轮转切片

保留异常时间窗

长跑稳定的核心不是“硬抓”,而是过滤、写盘、轮转、清理。

8. Save 与 Open:PML 是证据,CSV 是统计视图

Procmon 分析结束后,最关键的动作是保存证据。这里要分清 PML 和 CSV。PML 是 Procmon 原生日志格式,保留的信息最完整;CSV 适合统计和跨工具对齐,但不能替代 PML。

8.1 PML:优先保存的原始证据

PML 适合离线复盘、团队协作、重新过滤、查看 Detail、Stack 和 Process Tree。只要是严肃问题,尤其是需要交给二线、厂商或后续复盘的问题,都应该优先保存 PML。

只要还没定根因,PML 就不要删。CSV 不能替代 PML。

8.2 CSV:适合 Excel 和多源对齐

CSV 的价值在于统计。你可以用 Excel 或 Power BI 做 Result 分布、Operation 统计、路径访问 TopN、Duration 平均值等分析。它也适合和应用日志、DebugView、ETW 导出结果按 Time of Day 对齐。

适合 CSV 的场景: Result 错误码统计 Operation 操作类型统计 Path TopN Process Name TopN Duration 排序 和应用日志按时间对齐

PML 负责保真,CSV 负责统计。两者角色不同。

8.3 标准证据包建议

CaseName_YYYYMMDD_All.pml CaseName_YYYYMMDD_Filtered.pml CaseName_YYYYMMDD_ResultCount.csv CaseName_YYYYMMDD_ProcessTree.png CaseName_YYYYMMDD_Stack.png README.md

不要只发截图。截图只能证明你看到过某个现象,PML 才能让别人复盘你的证据链。

9. 我的默认工具栏模板

如果让我给一线桌面支持同事配置一个默认模板,我不会把所有功能都打开。默认模板的目标应该是稳、轻、可读,而不是“全量抓一切”。

默认开启: Registry File System Process & Thread 默认关闭: Network Profiling Autoscroll 默认列: Time of Day Process Name PID Operation Path Result Detail Duration 默认高亮: ACCESS DENIED NAME NOT FOUND SHARING VIOLATION Duration > 0.1s PMARK

默认模板要适合 80% 场景。特殊场景再临时加 Network、Profiling 或 Stack。

9.1 常规软件启动慢模板

Process Name is target.exe → Include Category is File System → Include Category is Registry → Include Duration > 0.1s → Highlight Result contains DENIED / VIOLATION / NOT FOUND → Highlight

9.2 文件保存失败模板

Process Name is target.exe → Include Operation is CreateFile → Include Operation is WriteFile → Include Result is ACCESS DENIED → Highlight Result is SHARING VIOLATION → Highlight Path contains 目标目录 → Include

9.3 插件加载异常模板

Process Name is OUTLOOK.EXE → Include Path contains Addins → Include Path contains CLSID → Include Operation is Load Image → Include Result contains NAME NOT FOUND → Highlight

模板不是越复杂越好。越接近问题对象,越容易得到干净证据。

10. 一键排障实战手册:清屏、捕获、复现、暂停、保存

把工具栏按钮串起来以后,可以形成一个很稳定的实战流程。这个流程适合大多数桌面应用问题:启动慢、保存失败、配置不生效、加载项异常、安装失败、偶发报错。

1. 打开 Procmon,先暂停捕获 2. 配置事件类别:File + Registry + Process 3. 设置过滤器:锁定目标进程或路径 4. Ctrl + X 清屏 5. Ctrl + E 开始捕获 6. 复现问题 7. Ctrl + E 立即暂停 8. 高亮错误码和慢调用 9. Process Tree / Find / Stack 下钻 10. 保存 PML,必要时导出 CSV

这套动作的目标是让每次采集都可复现、可解释、可交付。

10.1 针对用户远程协助的简化话术

如果要让用户配合,可以把话术压缩成这样:

我需要抓取一个问题复现窗口的系统访问日志。 请先不要操作目标软件。 我会打开 Procmon 并清空当前事件。 开始捕获后,你再复现一次问题。 复现完成后请不要继续操作,我会立刻暂停并保存日志。

远程协助时,最怕用户提前操作或复现后继续乱点。话术要把动作顺序说清楚。

10.2 工单记录模板

【采集工具】 Process Monitor 【采集动作】 复现前清屏,开始捕获后执行问题复现,复现完成后立即暂停。 【事件类别】 File System / Registry / Process & Thread 【过滤条件】 Process Name is xxx.exe Result contains DENIED / VIOLATION / NOT FOUND 【关键发现】 目标进程在复现时间窗口内对 xxx 路径执行 CreateFile, Result 为 ACCESS DENIED, Detail 显示 Desired Access: Generic Read。 【当前判断】 当前证据指向权限或第三方组件拦截,需结合 Stack 或正常机器对比验证。 【输出文件】 已保存 All Events PML 与过滤后 PML。

不要在工单里只写“已抓 Procmon”。要写清楚抓了什么、过滤了什么、发现了什么、下一步验证什么。

11. 常见误区排雷

工具栏看起来简单,但误区很多。下面这些问题在一线排障里非常常见。

误区后果正确做法
把类别开关当过滤器以为已经减少采集压力用 Filter 和 Drop 控制采集范围
复现前不清屏时间线混乱Ctrl + X 后再复现
分析时不暂停事件继续滚动,难以定位复现后立刻 Ctrl + E
只看 Result漏掉成功但耗时长的事件同时看 Detail / Duration / Stack
长跑不写盘内存压力大,证据易丢启用 Backing Files
过早开启 Drop上下文事件不可恢复先验证过滤器再开启
只保存 CSV丢失深度复盘能力原始 PML 必须保留
Stack 没开却想溯源事后无法完整追模块需要溯源时短时间开 Stack

Procmon 最危险的用法,是看起来抓了很多,但关键上下文早就被自己过滤掉了。

11.1 第一个异常点比最后一个错误更重要

很多时候,用户看到的是最后一个报错,比如“保存失败”“启动失败”“加载项不可用”。但 Procmon 里真正有价值的,往往是更早之前的第一个异常点。比如某个配置文件读不到、某个注册表键权限拒绝、某个 DLL 路径查找失败。

不要被最后一个报错牵着走。回到时间线,找第一个改变流程方向的异常点。

12. 总结:会用按钮,才会稳定交付证据

Procmon 工具栏并不复杂,复杂的是事件量太大、现场变量太多、问题复现窗口太短。真正熟练的用法,不是把每个按钮都点一遍,而是把按钮变成固定动作:清屏、捕获、复现、暂停、过滤、高亮、下钻、保存。

本篇最重要的结论可以压缩成三句话:第一,Capture、Clear、Autoscroll 负责控制现场;第二,Filter、Highlight、Process Tree、Find、Stack 负责缩小嫌疑面并追溯来源;第三,Drop Filtered Events、Backing Files、PML 保存负责长跑稳定和证据交付

从 Mark 式排障视角看,工具栏不是按钮集合,而是“观察—过滤—关联—验证—留证”的操作入口。

后续排查 Outlook、Explorer、Teams、OneDrive、EDR、飞连、安装失败、启动慢、文件占用等问题时,可以把本文的工具栏手册当成固定检查清单。每次抓取都按同一套动作执行,证据质量会稳定很多,也更容易沉淀成工单、SOP 和博客复盘。


返回顶部

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 4:34:10

Python/Numpy线性代数编程:DeepLearningBook-Notes代码实现完整手册

Python/Numpy线性代数编程:DeepLearningBook-Notes代码实现完整手册 【免费下载链接】deepLearningBook-Notes Notes on the Deep Learning book from Ian Goodfellow, Yoshua Bengio and Aaron Courville (2016) 项目地址: https://gitcode.com/gh_mirrors/de/de…

作者头像 李华
网站建设 2026/5/20 4:28:49

量子架构搜索:TensorRL-QAS的创新与实践

1. 量子架构搜索的技术背景与挑战 量子架构搜索(Quantum Architecture Search, QAS)是近年来量子计算领域兴起的关键技术,其核心目标是通过自动化方法设计高效的量子电路结构。在经典机器学习中,神经架构搜索(NAS&…

作者头像 李华
网站建设 2026/5/20 4:27:39

2026届毕业生推荐的五大AI写作网站解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在AIGC生成内容之际,其标题风格常常呈现出机械或者冗余的态势,进而对…

作者头像 李华
网站建设 2026/5/20 4:23:02

不经意传输协议的外包化优化与实践

1. 不经意传输协议的技术演进与外包化实践不经意传输(Oblivious Transfer, OT)作为密码学领域的基石协议,自1981年由Rabin首次提出以来,已经发展出多种变体。在传统1-out-of-2 OT协议中,发送方持有两个消息(m₀,m₁)&a…

作者头像 李华
网站建设 2026/5/20 4:21:00

Ascend(昇腾)性能优化文章导航

作者:昇腾实战派 算力赋能时代,性能优化既是突破算力瓶颈的关键,也是国产化智能化转型的核心命题。本文聚焦昇腾设备全链路性能优化,汇总从硬件到软件,从算子到框架的实用干货,拆解调优技巧、分享实战案例…

作者头像 李华