錯誤檢查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 專案以檢視結果。