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