
Sysinternals 出品 · 完全免费 · 学习蓝屏分析的必备工具
想学蓝屏分析,却苦于没有"真实的崩溃环境"? 公司电脑频繁蓝屏,IT 说"无法复现"? 想测试自己写的驱动,却不知道它会不会导致崩溃? 需要生成 Dump 文件练习用 WinDbg 分析? NotMyFault —— 微软官方的"蓝屏制造机"! 8 种崩溃方式 + 2 种挂起方式,一键触发蓝屏!
软件名称 | NotMyFault |
|---|---|
当前版本 | v4.5 |
文件大小 | 约 1 MB |
开发商 | Microsoft Sysinternals(Mark Russinovich) |
系统支持 | Windows 7 / 8 / 10 / 11 / Server / Nano Server |
授权方式 | 完全免费 · 无需安装 · 绿色免安装 |
权限要求 | ⚠️ 需要管理员权限 |
NotMyFault(名字含义:"不是我造成的")是微软 Sysinternals 套件中一款"特殊"的工具——它能故意让你的 Windows 系统崩溃(蓝屏)、挂起(死机)或制造内核内存泄漏。
这听起来很疯狂,但它的用途非常正经:
NotMyFault 内置了 8 种不同类型的崩溃触发器,每种都对应一种真实的系统故障场景:
编号 | 崩溃类型 | 说明 |
|---|---|---|
0x01 | High IRQL Fault(内核态) | 在高 IRQL 级别下触发非法内存访问,最常见的驱动 Bug 类型 |
0x02 | Buffer Overflow | 模拟缓冲区溢出,验证 Driver Verifier 是否能检测 |
0x03 | Code Overwrite | 模拟代码段被意外覆盖的情况 |
0x04 | Stack Trash | 破坏栈数据,模拟栈溢出/损坏 |
0x05 | High IRQL Fault(用户态) | 用户态触发的高 IRQL 违规,用于理解用户/内核态交互 |
0x06 | Stack Overflow | 递归调用导致栈耗尽(STACK_OVERFLOW) |
0x07 | Hardcoded Breakpoint | 触发硬编码断点(INT 3),模拟调试中断 |
0x08 | Double Free | 同一块内存被释放两次,经典的内存管理 Bug |
🧊
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 章的核心案例。
👨💻 驱动开发者(最典型场景)
验证自己的驱动能否承受各种异常情况(IRQL 违规、缓冲区溢出、Double Free 等),配合 Driver Verifier 测试驱动稳定性。
📚 学习 Windows Internals 的读者
Windows Internals 教材第 7 章(内存池泄漏分析)和第 14 章(崩溃分析)均以 NotMyFault 为实验工具,是"官方配套实验器"。
🔧 IT 支持 / 系统管理员
在测试环境中故意触发蓝屏,练习用 WinDbg 分析 Dump 文件,提升诊断真实蓝屏问题的能力。
🔬 蓝屏/崩溃分析师
需要了解不同崩溃类型对应的 STOP 代码和 Bug Check 含义,NotMyFault 是生成各类蓝屏样本的最佳工具。
🏢 企业 IT 培训讲师
在培训课程中现场演示蓝屏触发 → Dump 分析 → 定位根因的完整流程,让学员直观理解崩溃分析。
NotMyFault 提供了 GUI 图形界面和命令行版本(notmyfaultc.exe)两种方式。命令行版本支持 Nano Server(无 GUI 的服务器系统)。
REM 触发"High IRQL Fault(内核态)"蓝屏 notmyfaultc.exe crash 0x01 REM 触发"Double Free"蓝屏 notmyfaultc.exe crash 0x08 REM 触发"IRP 挂起"导致系统卡死 notmyfaultc.exe hang 0x01 REM 直接触发默认蓝屏(最简单的方式) notmyfaultc.exe crash
命令 | 说明 |
|---|---|
notmyfaultc.exe crash | 触发默认蓝屏(High IRQL) |
notmyfaultc.exe crash 0x01~0x08 | 触发指定类型的崩溃(见上表) |
notmyfaultc.exe hang 0x01~0x02 | 触发系统挂起(死机) |
⚠️ 重要提示
C:\Windows\Minidump(小型转储)或 C:\Windows\MEMORY.DMP(完整转储)C:\Windows\Minidump\xxxxxx.dmp!analyze -vNotMyFault 完全免费,无需安装,解压即用(含 32 位和 64 位版本):
🔗 点击下载 NotMyFault.zip
📎 下载链接:https://download.sysinternals.com/files/NotMyFault.zip
NotMyFault 是微软官方推出的"蓝屏模拟器"——听起来危险,但它是学习 Windows 内核崩溃分析的最佳教具。 驱动开发者用它验证稳定性,IT 运维用它练习 Dump 分析,Windows Internals 读者用它完成教材实验。 正如它的名字所说:出了蓝屏,"Not My Fault"——是我故意的! 😄
— END —