微软官方出了个"蓝屏制造机"?!
NotMyFault,让你的电脑故意崩溃!
Sysinternals 出品 · 完全免费 · 学习蓝屏分析的必备工具
想学蓝屏分析,却苦于没有"真实的崩溃环境"?
公司电脑频繁蓝屏,IT 说"无法复现"?
想测试自己写的驱动,却不知道它会不会导致崩溃?
需要生成 Dump 文件练习用 WinDbg 分析?
NotMyFault —— 微软官方的"蓝屏制造机"!
8 种崩溃方式 + 2 种挂起方式,一键触发蓝屏!
📌 软件信息
🔍 什么是 NotMyFault?
NotMyFault(名字含义:"不是我造成的")是微软 Sysinternals 套件中一款"特殊"的工具——它能故意让你的 Windows 系统崩溃(蓝屏)、挂起(死机)或制造内核内存泄漏。
这听起来很疯狂,但它的用途非常正经:
- 学习蓝屏分析
:Windows Internals(Windows 内核经典教材)第 7 章和第 14 章都用它来演示 - 测试驱动稳定性
:驱动开发者用来验证自己的驱动能否承受异常环境 - 生成 Dump 文件
:在行为异常的机器上主动触发蓝屏,生成内存转储供后续分析 - 培训 IT 支持人员
:让运维团队练习如何诊断和解决蓝屏问题
💥 8 种崩溃方式(Crash Types)
NotMyFault 内置了 8 种不同类型的崩溃触发器,每种都对应一种真实的系统故障场景:
| High IRQL Fault(内核态) | ||
| Buffer Overflow | ||
| Code Overwrite | ||
| Stack Trash | ||
| High IRQL Fault(用户态) | ||
| Stack Overflow | ||
| Hardcoded Breakpoint | ||
| Double Free |
🔒 2 种挂起方式 + 内存泄漏
🧊
Hang with IRP(0x01)
通过阻塞一个 I/O 请求包(IRP)导致系统挂起,模拟驱动不响应 IRP 的场景。系统会表现为"卡死",但 CPU 占用可能很低。
🧊
Hang with DPC(0x02)
通过占用 Deferred Procedure Call(DPC)导致系统卡死。模拟驱动在高优先级下长时间占用 CPU,其他任务无法调度。
📈
内核内存泄漏(Kernel Memory Leak)
在内核池中不断分配内存但不释放,模拟驱动内存泄漏。可以学习用 Pool Monitor(!poolused)等工具定位泄漏源——这正是 Windows Internals 第 7 章的核心案例。
🎯 谁最需要 NotMyFault?
👨💻 驱动开发者(最典型场景)
验证自己的驱动能否承受各种异常情况(IRQL 违规、缓冲区溢出、Double Free 等),配合 Driver Verifier 测试驱动稳定性。
📚 学习 Windows Internals 的读者
Windows Internals 教材第 7 章(内存池泄漏分析)和第 14 章(崩溃分析)均以 NotMyFault 为实验工具,是"官方配套实验器"。
🔧 IT 支持 / 系统管理员
在测试环境中故意触发蓝屏,练习用 WinDbg 分析 Dump 文件,提升诊断真实蓝屏问题的能力。
🔬 蓝屏/崩溃分析师
需要了解不同崩溃类型对应的 STOP 代码和 Bug Check 含义,NotMyFault 是生成各类蓝屏样本的最佳工具。
🏢 企业 IT 培训讲师
在培训课程中现场演示蓝屏触发 → Dump 分析 → 定位根因的完整流程,让学员直观理解崩溃分析。
⌨️ 命令行版本(notmyfaultc.exe)
NotMyFault 提供了 GUI 图形界面和命令行版本(notmyfaultc.exe)两种方式。命令行版本支持 Nano Server(无 GUI 的服务器系统)。
REM 触发"High IRQL Fault(内核态)"蓝屏
notmyfaultc.execrash 0x01
REM 触发"Double Free"蓝屏
notmyfaultc.execrash 0x08
REM 触发"IRP 挂起"导致系统卡死
notmyfaultc.exehang 0x01
REM 直接触发默认蓝屏(最简单的方式)
notmyfaultc.execrash
⚠️ 重要提示
运行 NotMyFault 会立即导致系统崩溃或蓝屏,请确保已保存所有工作! 需要管理员权限运行(涉及内核驱动) 蓝屏后会生成 Dump 文件,位于 C:\Windows\Minidump(小型转储)或C:\Windows\MEMORY.DMP(完整转储)建议在虚拟机或测试环境中使用,不要在生产服务器上运行! 需要先在"系统属性 → 高级 → 启动和故障恢复"中启用写入调试信息(建议选"小型内存转储")
📖 蓝屏分析完整流程
- 配置 Dump 输出
:系统属性 → 启动和故障恢复 → 写入调试信息 → 选择"小型内存转储(256KB)" - 运行 NotMyFault
:选择崩溃类型 → 点击 Crash → 系统立即蓝屏 - 重启后找到 Dump 文件
: C:\Windows\Minidump\xxxxxx.dmp - 用 WinDbg 分析
:打开 WinDbg → File → Open Crash Dump → 输入 !analyze -v - 定位根因
:根据 Bug Check 代码、模块名、调用栈,找到崩溃的真正原因
📥 下载
NotMyFault 完全免费,无需安装,解压即用(含 32 位和 64 位版本):
🔗 点击下载 NotMyFault.zip
📎 下载链接:https://download.sysinternals.com/files/NotMyFault.zip
📝 总结
NotMyFault 是微软官方推出的"蓝屏模拟器"——听起来危险,但它是学习 Windows 内核崩溃分析的最佳教具。
驱动开发者用它验证稳定性,IT 运维用它练习 Dump 分析,Windows Internals 读者用它完成教材实验。
正如它的名字所说:出了蓝屏,"Not My Fault"——是我故意的! 😄
— END —
夜雨聆风