錯誤檢查0x19:BAD_POOL_HEADER
BAD_POOL_HEADER錯誤檢查的值為 0x00000019。 這表示集區標頭已損毀。
重要
本文適用於程式設計人員。 如果您是在使用計算機時收到藍色畫面錯誤碼的客戶,請參閱 針對藍色畫面錯誤進行疑難解答。
BAD_POOL_HEADER參數
參數 1 表示違規的類型。 其他參數的意義取決於參數 1 的值。
參數 1 | 參數 2 | 參數 3 | 參數 4 | 錯誤原因 |
---|---|---|---|---|
0x2 |
正在檢查的集區專案 |
集區區塊的大小 |
0 |
特殊集區模式檢查失敗。 (業主可能已經損毀了集區區塊。 |
0x3 |
正在檢查的集區專案 |
可擦寫的 flink freelist 值 |
可擦寫的 反閃爍 freelist 值 |
集區自由清單已損毀。 (在狀況良好的清單中,參數 2、3 和 4 的值應該相同。 |
0x5 |
其中一個集區專案 |
已保留 |
其他集區專案 |
一對相鄰的集區專案有相互矛盾的標頭。 其中至少有一個已經損毀。 |
0x6 |
一個未正確計算的專案 |
已保留 |
造成錯誤計算的錯誤專案 |
集區區塊標頭先前的大小太大。 |
0x7 |
0 |
已保留 |
不正確的集區專案 |
集區區塊標頭大小已損毀。 |
0x8 |
0 |
已保留 |
不正確的集區專案 |
集區區塊標頭大小為零。 |
0x9 |
一個未正確計算的專案 |
已保留 |
造成錯誤計算的錯誤專案 |
集區區塊標頭大小已損毀(太大)。 |
0xA |
應該找到的集區專案 |
已保留 |
頁面的虛擬位址,該頁面應包含集區專案 |
集區區塊標頭大小已損毀。 |
0xD、0xE、0xF、0x23、0x24、0x25 |
已保留 |
已保留 |
已保留 |
釋放區塊的集區標頭在釋放後已修改。 這通常不是釋放區塊先前擁有者的錯誤;相反地,它通常是 (但不一定)由於釋放區塊前面的區塊正在滿溢。 |
0x20 |
應該找到的集區專案 |
下一個集區專案 |
已保留 |
集區區塊標頭大小已損毀。 |
0X21 |
正在釋放的集區指標 |
配置給集區區塊的位元組數目 |
在集區區塊之後找到的損毀值 |
正在釋放集區區塊之後的數據已損毀。 這通常表示取用者 (呼叫堆棧) 已滿溢區塊。 |
0X22 |
正在釋放的位址 |
已保留 |
已保留 |
正在釋放的地址沒有追蹤專案。 這通常是因為呼叫堆疊嘗試釋放已經釋放的指標,或從未配置過以開頭。 |
原因
目前要求時集區已經損毀。
這可能是或可能不是因為呼叫端所造成。
解決方法
必須使用核心調試程式逐步解說內部集區連結,以找出問題可能的原因。
然後您可以針對可疑集區標記使用特殊集區,或在可疑驅動程式上使用驅動程序驗證器「特殊集區」選項。 !analyze 擴充功能可能有助於找出可疑驅動程式,但這通常不是集區損毀者的情況。
使用分析錯誤檢查藍螢幕數據中所述的步驟來收集停止程式代碼參數。 使用停止程式代碼參數來判斷您要追蹤的特定程式代碼行為類型。
驅動程式驗證器
驅動程式驗證器是一種工具,可即時執行以檢查驅動程序的行為。 如果在執行驅動程式程式代碼時看到錯誤,它會主動建立例外狀況,以允許進一步審查該部分的驅動程序程序代碼。 驅動程式驗證器管理員內建於 Windows 中,可在所有 Windows 電腦上使用。 若要啟動驅動程式驗證器管理員,請在命令提示字元中輸入 驗證器 。 您可以設定您要驗證的驅動程式。 驗證驅動程式的程式代碼會在執行時增加額外負荷,因此請嘗試並確認最少的驅動程式數目。 如需詳細資訊,請參閱驅動程式驗證器。
Windows 記憶體診斷
如果這個錯誤檢查出現不一致,它可能與錯誤的物理記憶體有關。
執行 Windows 記憶體診斷工具,以測試記憶體。 在控制面板搜尋方塊中,輸入 [記憶體],然後選取 [ 診斷計算機的記憶體問題]。執行測試之後,請使用事件查看器來檢視系統記錄檔下的結果。 尋找 MemoryDiagnostics-Results 專案以檢視結果。