錯誤檢查0xC2:BAD_POOL_CALLER
BAD_POOL_CALLER錯誤檢查的值為 0x000000C2。 這表示目前的執行緒正在提出不正確的集區要求。
重要
本文適用于程式設計人員。 如果您是在使用電腦時收到藍色螢幕錯誤碼的客戶,請參閱 針對藍色畫面錯誤進行疑難排解。
BAD_POOL_CALLER參數
參數 1 表示違規類型。
參數 1 | 參數 2 | 參數 3 | 參數 4 | 錯誤原因 |
---|---|---|---|---|
0x00 |
0 |
集區類型 |
集區標籤 |
目前的執行緒要求零位元組集區配置。 |
0x01, 0x02、 0x04 |
集區標頭的指標 |
集區標頭內容的第一個部分 |
0 |
集區標頭已損毀。 |
0x06 |
保留 |
集區標頭的指標 |
集區標頭內容 |
目前的執行緒嘗試釋放已釋放的集區。 |
0x07 |
保留 |
集區標頭內容 |
正在釋放集區區塊的位址 |
目前的執行緒嘗試釋放已釋放的集區。 |
0x08 |
目前的 IRQL |
集區類型 |
配置大小,以位元組為單位 |
目前的執行緒嘗試在不正確 IRQL 上組態集區。 |
0x09 |
目前的 IRQL |
集區類型 |
集區位址 |
目前的執行緒嘗試在不正確 IRQL 上釋放集區。 |
0x0A |
集區位址 |
配置器的標籤 |
嘗試免費使用的標籤 |
目前的執行緒嘗試使用錯誤的標籤釋放集區記憶體。 (記憶體可能屬於另一個元件。) |
0x0B、 0x0C、 或 0x0D |
集區位址 |
集區配置的標籤 |
不正確的配額進程指標 |
目前的執行緒嘗試釋放損毀集區配置上的配額。 |
0x40 |
起始位址 |
系統位址空間的開頭 |
0 |
目前的執行緒嘗試在使用者模式位址釋放核心集區。 |
0x41 |
起始位址 |
實體頁面框架 |
最高實體頁面框架 |
目前的執行緒嘗試釋放未配置的非分頁集區位址。 |
0x42 或 0x43 |
正在釋放的位址 |
0 |
0 |
目前的執行緒嘗試釋放從未在任何集區中的虛擬位址。 |
0x44 |
起始位址 |
保留 |
0 |
目前的執行緒嘗試釋放未配置的非分頁集區位址。 |
0x46 |
起始位址 |
0 |
0 |
目前的執行緒嘗試釋放不正確集區位址。 |
0x47 |
起始位址 |
實體頁面框架 |
最高實體頁面框架 |
目前的執行緒嘗試釋放未配置的非分頁集區位址。 |
0x48 |
起始位址 |
保留 |
保留 |
目前的執行緒嘗試釋放未配置的分頁集區位址。 |
0x50 |
起始位址 |
分頁集區開頭的開始位移,在頁面中 |
分頁集區的大小,以位元組為單位 |
目前的執行緒嘗試釋放未配置的分頁集區位址。 |
0x60 |
起始位址 |
0 |
0 |
目前的執行緒嘗試釋放不正確連續記憶體位址。 (MmFreeContiguousMemory 的呼叫端正在傳遞不正確的指標。) |
0x99 |
正在釋放的位址 |
0 |
0 |
目前的執行緒嘗試釋放位址不正確集區。 (此程式碼也可以指出集區標頭中的損毀。) |
0x9A |
集區類型 |
要求的位元組數目 |
集區標籤 |
目前線程標示為配置要求MUST_SUCCEED。 (不再支援此集區類型。) |
0x9B |
集區類型 |
要求的位元組數目 |
呼叫端的位址 |
目前線程嘗試配置標籤為 0 的集區 (這是無法追蹤的,而且可能損毀現有的標記資料表。) |
0x9C |
集區類型 |
要求的位元組數目 |
呼叫端的位址 |
目前的執行緒嘗試配置具有 「BIG」 標記的集區。 (這是無法追蹤的,而且可能損毀現有的標記資料表。) |
0x9D |
使用的集區標籤不正確 |
集區類型 |
呼叫端的位址 |
目前的執行緒嘗試使用不包含任何字母或數位的標記來組態集區。 使用這類標籤會使追蹤集區問題變得困難。 |
0x41286 |
保留 |
保留 |
分頁集區開頭的開始位移,以頁面為單位 |
目前的執行緒嘗試在配置中間釋放分頁集區位址。 |
_POOL_TYPE程式碼會在 Ntddk.h 中列舉。 特別是,0 表示非分頁集區,1 表示分頁集區。
原因
目前線程已提出不正確集區要求。 一般而言,這是錯誤的 IRQL 層級,或兩次釋放相同的記憶體配置等等。
解決方案
啟用已啟用記憶體集區選項的驅動程式驗證器,以取得這些錯誤的詳細資訊,以及找出錯誤驅動程式。
驅動程式驗證器
驅動程式驗證器是即時執行以檢查驅動程式行為的工具。 如果在驅動程式程式碼執行中看到錯誤,它會主動建立例外狀況,以允許進一步檢查該部分的驅動程式程式碼。 驅動程式驗證器管理員內建于 Windows 中,可在所有 Windows 電腦上使用。 若要啟動驅動程式驗證器管理員,請在命令提示字元中輸入 驗證程式 。 您可以設定您想要驗證的驅動程式。 驗證驅動程式的程式碼會在執行時增加額外負荷,因此請嘗試並盡可能驗證最少的驅動程式數目。 如需詳細資訊,請參閱 驅動程式驗證器。
Windows 記憶體診斷
特別是,針對記憶體集區損毀的情況,請執行 Windows 記憶體診斷工具,嘗試並隔離實體記憶體作為原因。 在 [控制台] 搜尋方塊中,輸入 [記憶體],然後選取 [ 診斷電腦的記憶體問題]。執行測試之後,請使用事件檢視器來檢視系統記錄下的結果。 尋找 MemoryDiagnostics-Results 專案以檢視結果。