news 2026/9/11 11:03:54

实时内核转储:蓝屏前给系统拍张“体检照“——SystemInformer 内核转储指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实时内核转储:蓝屏前给系统拍张“体检照“——SystemInformer 内核转储指南

实时内核转储:蓝屏前给系统拍张"体检照"——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

SystemInformer 是一款免费的 Windows 系统调试工具。本文讲 SystemInformer 的内核转储功能:系统还没崩溃时,就能实时抓一份内核转储(Live Kernel Dump),把内核内存现状快照到磁盘。适合系统不稳定的普通用户,也适合写驱动的开发人员。

能力总览:它不止能看进程

SystemInformer 是 Windows 系统调试的"瑞士军刀":进程、驱动、网络、注册表都能看。围绕"崩溃分析",它有三个核心能力:

  • 实时内核转储。系统还在运行时,就把内核内存的完整状态抓下来存盘。不用等蓝屏发生,不用重启。
  • 进程级小转储(minidump)。对任意进程右键,单独给它做快照。配合内核快照选项,方便追查某个具体程序的崩溃。
  • 图形化、免命令行。全程点鼠标操作。程序本身免费、开源(MIT 协议),源码就在你眼前。

底层它带一个内核驱动,源码在 KSystemInformer/ 目录,用来读取更深层的系统信息。

动手实践

编译安装:先让程序跑起来

要做的:在你电脑上装好一个能用的 SystemInformer。

  1. 确认环境。Windows 10 或更高版本即可,32 位 64 位都行;想自己编译需要 Visual Studio 2022。
  2. 拿到程序。自己编译的话,克隆仓库:
git clone https://gitcode.com/GitHub_Trending/sy/systeminformer

也可以从项目官网下载现成的绿色版,不需要安装。

  1. 编译。打开项目根目录的SystemInformer.sln解决方案;项目也提供了 CMake 支持,见根目录 CMakeLists.txt 和 cmake/ 目录。

你会看到:主窗口列出所有进程,顶部有 CPU、内存等资源曲线。

创建实时内核转储最快步骤

要做的:系统已经出现不稳定迹象(程序频繁崩溃、卡顿),趁还没蓝屏,把"现场"保存下来。

  1. 右键主窗口里的进程,在 "Dump" 菜单里选 "Custom";或用工具栏的 Live kernel dump 入口,弹出配置对话框。
  2. 按需勾选:"Compress memory pages" 压缩内存页,减小体积;只关心内核问题时勾 "Only kernel thread stacks",只存内核线程栈。
  3. 点确定,选保存位置。默认文件名形如kerneldump_2026-09-10_09-30-00.dmp

这些勾选项对应的参数,在 SystemInformer/kdump.c 里逐项设置:

options.CompressMemoryPages = Button_GetCheck(GetDlgItem(hwndDlg, IDC_COMPRESS)) == BST_CHECKED; options.OnlyKernelThreadStacks = Button_GetCheck(GetDlgItem(hwndDlg, IDC_ONLYKERNELTHREADSTACKS)) == BST_CHECKED;

底层实现很直接:同一个文件里调用 Windows 系统调试接口完成抓取。

你会看到:一个进度窗口,实时显示转储文件正在长到多大。完成后,硬盘上多出一个.dmp文件,这就是这一刻系统的"体检照"。

转储文件分析速查:把 .dmp 交给调试器

要做的:转储文件在手,想知道当时内核里有什么。

  1. 安装 Windows Debugger(WinDbg,随 Windows SDK 提供),用它打开.dmp
  2. 查看加载模块列表和内核内存布局。实时转储是活体快照,重点看哪些驱动、哪些内存区域"不对劲"。
  3. 如果你还拿到了蓝屏后自动生成的小转储(默认在C:\Windows\Minidump),用 WinDbg 打开并运行!analyze,它会给异常代码、崩溃堆栈和疑似模块的初步判断。

你会看到:加载驱动列表、崩溃时的堆栈和异常代码。堆栈指向哪个驱动,就先更新或回滚哪个驱动。

避坑指南:权限和体积,三句话解决

提示"Unable to create live kernel dump"。原因:没用管理员身份运行。代码里直接检查当前用户令牌,权限不够就拒绝,见 SystemInformer/kdump.c 中的提权检查。解决:右键程序选"以管理员身份运行"。

转储文件太大,吃光磁盘空间。原因:默认抓的是全量内核内存。解决:勾选"仅内核线程栈",只存内核线程栈;再勾上"压缩内存页",体积会明显下降。

转储进程时,内核部分提示无法生成。原因:内核快照需要管理员权限;32 位进程还要借助对应的 32 位程序辅助,相关逻辑在 SystemInformer/mdump.c。解决:以管理员身份重新运行,再试一次。

收尾:下次崩溃之前,先拍张照

内核转储的价值在一个"活"字:不用等蓝屏才动手,系统一有风吹草动就能留证据。建议你现在就做一件事——以管理员身份打开 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),仅供参考

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

Jupyter Notebook与Lab环境配置及高效使用指南

1. Jupyter生态全景解析:从Notebook到Lab的进化之路2001年,Fernando Prez在UC Berkeley攻读物理学博士期间,为了简化Python交互式计算流程,开发了IPython项目。这个最初只是增强版Python shell的工具,经过十余年演化&a…

作者头像 李华
网站建设 2026/9/11 11:03:34

CR认证解析:防儿童包装标准与设计实践

1. 什么是CR认证?为什么它如此重要?CR认证(Child Resistant Certification)是针对产品包装的一项特殊安全认证,主要目的是防止儿童误开包装导致中毒或其他伤害。这项认证源于美国消费品安全委员会(CPSC&…

作者头像 李华
网站建设 2026/9/11 11:03:02

商用教务系统调研:支持预约排课的教育系统汇总

在教培机构数字化运营体系中,预约排课是教务管理的核心基础能力,直接决定机构师资、教室资源的利用效率,同时影响学员上课体验与家校服务口碑。市面上多数商用教务系统的排课预约能力参差不齐,部分工具仅支持基础排课,…

作者头像 李华
网站建设 2026/9/11 11:02:53

copyparty 主题定制完整指南:3 步换掉默认界面

copyparty 主题定制完整指南:3 步换掉默认界面 【免费下载链接】copyparty Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails all in one file 项目地址: https://gitcode.com/Gi…

作者头像 李华
网站建设 2026/9/11 11:02:44

Snipe-IT Docker部署指南:三步跑通IT资产管理系统

Snipe-IT Docker部署指南:三步跑通IT资产管理系统 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 想把开源的 IT 资产/许可证管理系统 Snipe-IT 跑起来&…

作者头像 李华