错误检查 0x20:KERNEL_APC_PENDING_DURING_EXIT

KERNEL_APC_PENDING_DURING_EXIT 错误检查的值为 0x00000020。 这表明当线程退出时,异步过程调用 (APC) 仍处于待处理状态。

重要

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

KERNEL_APC_PENDING_DURING_EXIT 参数

参数 说明

1

在退出过程中发现的待处理 APC 的地址

2

线程的 APC 禁用计数

3

当前 IRQL

4

Reserved

原因

关键数据项是线程的 APC 禁用计数(参数 2)。 如果计数不为零,则它将表明问题的来源。

每次驱动程序调用 KeEnterCriticalRegionFsRtlEnterFileSystem 或获取互斥体时,APC 禁用计数都会递减。

每次驱动程序调用 KeLeaveCriticalRegionKeReleaseMutexFsRtlExitFileSystem 时,APC 禁用计数都会递增。

由于这些调用应始终成对进行,因此当线程退出时,APC 禁用计数应为零。 负值表示驱动程序已禁用 APC 调用,而未重新启用它们。 正值表示情况恰好相反。

如果看到此错误,请对计算机上安装的所有驱动程序(尤其是不常见或非标准的驱动程序)保持高度怀疑。

当前 IRQL(参数 3)应为零。 如果不是,则可能是驱动程序的取消例程以较高的 IRQL 返回,从而导致了错误检查。 在这种情况下,请仔细记下崩溃时正在运行的程序(以及正在关闭的程序),并记下崩溃时安装的所有驱动程序。 在这种情况下,原因通常是驱动程序中存在严重的错误。

解决方法

!analyze 调试扩展显示有关错误检查的信息,并有助于确定根本原因