ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

用 SystemInformer 快速创建 Windows 内核转储:从抓崩溃现场到读出肇事模块

用 SystemInformer 快速创建 Windows 内核转储:从抓崩溃现场到读出肇事模块 用 SystemInformer 快速创建 Windows 内核转储从抓崩溃现场到读出肇事模块【免费下载链接】systeminformerA free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars Solutions, Inc. https://windows-internals.com项目地址: https://gitcode.com/GitHub_Trending/sy/systeminformer系统半夜随机蓝屏重启后事件日志只剩意外关机崩溃代码一个没留。崩溃前的现场还能拿到吗能。内核转储——崩溃现场的内存快照相当于系统的黑匣子——就是这份证据。免费的内核级系统监控与调试工具 SystemInformer让你在蓝屏发生之前就能主动抓下它。整件事拆成四个独立能力抓现场、读现场、找原因、防复发各节互不依赖可以按需取用。开始之前环境、权限、空间一次列清结论先说64 位 Windows 10/11、管理员身份、目标盘留出几 GB 空闲三者齐了就能动手。系统64 位 Windows 10/11其中仅内核线程栈模式需要 Windows 11权限SystemInformer 必须以管理员身份运行否则创建入口直接不可用空间完整转储可达 GB 级先确认目标磁盘余量获取下载 release 版本或克隆源码用 Visual Studio 2022 打开 SystemInformer.sln 自行构建git clone https://gitcode.com/GitHub_Trending/sy/systeminformer构建问题看 CONTRIBUTING.md首次使用会安装内核驱动 KSystemInformer.inf四种抓取档位可以先有概念后文第一步会用到档位写入内容适合场景Minimal仅内核线程栈文件最小仅 Win11Normal内核默认页面日常诊断首选Full额外含虚拟化层页面深度分析Custom弹窗里逐项勾选精确控制范围第一步 抓现场如何导出实时内核转储文件「工具」菜单里的 Create live dump... 就是入口全程系统照常可用不会中断你手上的操作。以管理员身份启动 SystemInformer顶部「工具」→「Create live dump...」在 Live kernel dump 对话框按需勾选压缩内存页减小体积、包含用户空间内存怀疑用户态程序时用、仅内核线程栈文件最小选择保存位置并确认默认文件形如kerneldump_2026-09-10_02-01-33.dmp怎么确认成功弹出进度窗口并实时显示当前体积结束后出现 Live kernel dump has been created 提示且所选位置存在一个体积大于 0 的 .dmp 文件。最常见的坑点确认提示 Unable to create live kernel dump——基本是没用管理员运行程序在创建前会做提权检查见 SystemInformer/kdump.c失败时半成品文件会被自动清掉别找 0 字节文件。技术细节请求经NtSystemDebugControl(SysDbgGetLiveKernelDump)下发由内核把内存页写盘所以抓取期间系统仍可正常使用。第二步 读现场如何打开转储文件读出第一手结论SystemInformer 负责抓读现场借免费的 WinDbg 完成两步出结果。安装 WinDbg Preview随 Visual Studio 附带的组件「文件」→ 打开转储文件选中抓下的 .dmp命令窗口输入!analyze -v回车让调试器自动做一遍初步分析重点读输出里的三个字段异常代码、出错模块、堆栈函数调用链怎么确认成功!analyze -v结束后能看到 ExceptionCode 一行且堆栈第一行带出可读的模块名。最常见的坑模块名显示成一串数字地址——是缺符号文件见下文 FAQ 第三条不影响继续看异常代码。第三步 找原因如何从分析输出判断肇事模块别只盯着异常代码堆栈里第一个非系统帧通常才是真凶。输出里的线索通常指向下一步动作栈顶是某第三方 .sys 驱动该驱动嫌疑最大更新或回滚这个驱动异常代码 0x1AMEMORY_MANAGEMENT内存管理链路问题跑一遍 Windows 内存诊断堆栈出现 win32k.sys显示子系统排查显卡驱动与新装的显示类软件出错模块完全无法识别可能是无签名模块先查最近装过的软件怎么确认成功处理掉对应组件后若干天内不再出现同一异常即可初步定性仍复现就再抓一份现场对比两次堆栈找差异。最常见的坑把 ntoskrnl 当成原因——它是系统自身代码真正线索在它下方那一行的第三方模块。防复发下次蓝屏如何自动留下证据两个小动作点到为止开启 Windows 自带小转储「系统」→「高级系统设置」→「启动和故障恢复 - 设置」写入调试信息选小内存转储(256KB)路径%SystemRoot%\Minidump。下次真蓝屏会自动留下小文件和手动抓的现场互为补充快捷键感觉系统不对劲时主列表右键 System 进程→「Create live kernel dump file」→「Normal...」默认参数已含页面压缩菜单定义见 SystemInformer/mwpgprov.c常见问题权限、体积、符号三个真实卡点Q1菜单是灰的或点确认提示 Unable to create live kernel dump 程序没以管理员身份运行。用管理员身份重新启动 SystemInformer入口即恢复可用。Q2抓出来的 .dmp 好几个 GB没法发给技术员 换小范围抓Windows 11 上选仅内核线程栈最小同时确保勾了压缩内存页发送前再用 zip 压一层体积还能再降。Q3WinDbg 提示无法加载符号模块全是数字地址 在 WinDbg「选项」→「调试」里把符号路径设为SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols这是微软公共符号仓库加载完成后模块名与函数名即会解析出来!analyze -v的结论也才完整。抓、读、找、防四个能力串起来后蓝屏从黑盒变成一份可交付的证据下次出问题可以直接把现场交到对的人手上。下一篇打算讲讲用 SystemInformer 的进程监控看谁在后台悄悄加载了可疑驱动。【免费下载链接】systeminformerA free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars Solutions, Inc. https://windows-internals.com项目地址: https://gitcode.com/GitHub_Trending/sy/systeminformer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进