Bug 检查 0x8E:KERNEL_MODE_EXCEPTION_NOT_HANDLED

KERNEL_MODE_EXCEPTION_NOT_HANDLED Bug 检查的值为 0x0000008E。 此 Bug 检查表明内核模式应用程序产生了错误处理程序未捕获到的异常。

重要

这篇文章适合程序员阅读。 如果您是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答

KERNEL_MODE_EXCEPTION_NOT_HANDLED 参数

参数 说明

1

未处理的异常代码

2

发生异常的地址

3

陷阱帧

4

Reserved

原因

KERNEL_MODE_EXCEPTION_NOT_HANDLED Bug 检查是一种非常常见的 Bug 检查。 若要对其进行解释,必须确定生成的具体异常。

常见的异常代码如下:

  • 0x80000002:STATUS_DATATYPE_MISALIGNMENT 表示遇到未对齐的数据引用。

  • 0x80000003:STATUS_BREAKPOINT 表示在未将内核调试器附加到系统时遇到断点或 ASSERT。

  • 0xC0000005:STATUS_ACCESS_VIOLATION 表示发生了内存访问冲突。

有关异常代码的完整列表,请参阅 Microsoft Windows 驱动程序工具包 (WDK) inc 目录中的 Ntstatus.h 文件。

解决方法

!analyze 调试扩展显示有关 bug 检查的信息,并有助于确定根本原因。 如果您不具备调试此问题的能力,则应使用一些基本的故障排除技术:

  • 确保有足够的磁盘空间。

  • 如果在 bug 检查消息中标识了驱动程序,请禁用该驱动程序,或与制造商联系以获取驱动程序更新。

  • 请尝试更改视频适配器。

  • 请与硬件供应商联系以获取 BIOS 更新。

  • 禁用 BIOS 内存选项,例如缓存或阴影。

如果您计划调试此问题,可能会发现很难获取堆栈跟踪。 参数 2(异常地址)应标识导致此问题的驱动程序或函数。

如果出现异常代码 0x80000003,则表示命中了硬编码断点或断言,但电脑是使用 /NODEBUG 开关启动的。 此问题很少发生。 如果重复发生,请确保内核调试器已连接,并且已使用 /DEBUG 开关启动电脑。

如果出现异常代码 0x80000002,陷阱帧会提供更多信息。

如果不知道异常的具体原因,请考虑以下各项:

  • 硬件不兼容 确保安装的任何新硬件都与已安装的 Windows 版本兼容。

  • 设备驱动程序或系统服务存在故障。 设备驱动程序或系统服务故障可能是导致此错误的原因。 硬件问题(如 BIOS 不兼容、内存冲突和 IRQ 冲突)也可能会产生此错误。

如果 Bug 检查消息按名称列出了某个驱动程序,请禁用或删除该驱动程序。 此外,禁用或删除最近添加的任何驱动程序或服务。 如果在启动过程中发生错误,并且系统分区使用 NTFS 文件系统进行了格式化,则有可能可以使用安全模式重命名或删除有故障的驱动程序。 如果在安全模式下将驱动程序用作系统启动过程的一部分,则必须使用恢复控制台启动计算机以访问文件。

如果问题与 Win32k.sys 有关,错误来源可能是第三方远程控制程序。 如果安装了此类软件,可以使用恢复控制台启动系统,然后删除有问题的系统服务文件,从而删除该服务。

在事件查看器中检查系统日志以获取其他错误消息,这可能有助于识别导致 bug 检查 0x8E 的设备或驱动程序。 可以禁用 BIOS 的内存缓存来尝试解决错误。 您还应该运行硬件诊断程序,尤其是系统制造商提供的内存扫描程序。 有关这些过程的详细信息,请参阅计算机的用户手册。

出现此消息的错误可能发生在 Windows 安装过程中首次重启后或安装完成后。 造成错误的可能原因是安装磁盘空间不足和系统 BIOS 不兼容。 对于 Windows 安装过程中与磁盘空间不足相关的问题,请减少目标硬盘驱动器上的文件数。 检查并删除任何不需要的临时文件、Internet 缓存文件、应用程序备份文件和包含磁盘扫描中保存的文件片段的 .chk 文件。 还可以使用可用空间更大的其他硬盘驱动器进行安装。