BAD_POOL_HEADER 参数

参数 1 表示violation类型。
其他参数的含义取决于参数 1 的值。

Parameter 1参数 2参数 3参数 4错误原因
0x2正在检查的池条目池块的大小0特殊池模式检查失败。
(所有者可能损坏了池块。)
0x3正在检查的池条目回读的 flink freelist 值回读闪烁的空闲列表值池空闲列表已损坏。
(在健康列表中,参数 2. 3 和 4 的值应相同。)
0x5池条目之一保留另一个池条目一对相邻的池条目具有相互矛盾的标头。其中至少有一个是腐败的。
0x6一个计算错误的条目保留导致计算错误的错误输入池块头的先前大小太大。
0x70保留坏池入口池块头大小已损坏。
0x80保留坏池入口池块头大小为零。
0x9一个计算错误的条目保留导致计算错误的错误输入池块头大小已损坏(太大)。
0xA应该找到的池条目保留应该包含池条目的页面的虚拟地址池块头大小已损坏。
0xD, 0xE, 0xF, 0x23, 0x24, 0x25保留保留保留释放块的池头在被释放后被修改。这通常不是释放块的前任所有者的错;相反,它通常(但不总是)是由于释放块之前的块被溢出。
0x20应该找到的池条目下一个池条目保留池块头大小已损坏。
0X21被释放的池指针为池块分配的字节数在池块之后发现损坏的值被释放的池块后面的数据已损坏。通常这意味着消费者(调用堆栈)已经超出了块。
0X22正在释放的地址保留保留被释放的地址没有跟踪条目。这通常是因为调用堆栈试图释放一个已经被释放或者从未被分配的指针。
www. On IT Road .com

原因

在当前请求时,池已经损坏。

这可能是也可能不是由于调用者。

解决方法

详细步骤查看我们的教程 在windows 中使用WinDBG 调试dmp文件

必须使用内核调试器遍历内部池链接以找出问题的可能原因。

然后,我们可以对可疑池标签使用特殊池,或者在可疑驱动程序上使用驱动程序验证程序“特殊池”选项。
!analyze 扩展可能有助于查明可疑驱动程序,但池破坏者通常不是这种情况。

使用蓝屏数据中描述的步骤收集停止代码参数。

使用停止代码参数来确定我们正在追踪的特定代码行为类型。

驱动程序验证器

Driver Verifier 是一种实时运行以检查驱动程序行为的工具。
如果它在驱动程序代码的执行中发现错误,它会主动创建一个异常以允许进一步检查该部分驱动程序代码。
驱动程序验证程序管理器内置于 Windows 中,可在所有 Windows PC 上使用。
要启动驱动程序验证程序管理器,请在命令提示符下键入 Verifier。
我们可以配置要验证的驱动程序。
验证驱动程序的代码在运行时会增加开销,因此请尝试验证尽可能少的驱动程序。
有关详细信息,请参阅驱动程序验证程序。

Windows 内存诊断

如果此 Bug Check 出现不一致,则可能与故障物理内存有关。

运行 Windows 内存诊断工具来测试内存。
在控制面板搜索框中,键入内存,然后选择诊断计算机的内存问题。
运行测试后,使用事件查看器在系统日志下查看结果。
查找 MemoryDiagnostics-Results 条目以查看结果。

Windows 蓝屏代码 0x19:BAD_POOL_HEADER

BAD_POOL_HEADER 错误检查的值为 0x00000019.
这表明池标头已损坏。

日期:2020-09-17 00:15:46 来源:oir作者:oir