!池

!pool 延伸模組會顯示特定集區配置或整個全系統集區的相關信息。

!pool [Address [Flags]]

參數

位址
指定要顯示的集區專案。 如果 Address 為 -1,此命令會顯示進程中所有堆積的相關信息。

如果 Address 為 0 或省略,此命令會顯示進程堆積的相關信息。

標誌
指定要使用的詳細數據層級。 這可以是下列位值的任何組合;預設值為零:

位 0 (0x1)
讓顯示包含集區內容,而不只是集區標頭。

位 1 (0x2)
導致顯示隱藏所有集區的集區標頭資訊,但實際包含指定 位址的集區標頭資訊除外。

位 31 (0x80000000)
隱藏顯示中集區類型和集區標籤的描述。

DLL

Kdexts.dll

其他資訊

如需記憶體集區的相關信息,請參閱 Mark Russinovich 和 David 所羅門的 Windows 驅動程式套件 (WDK) 檔和 Microsoft Windows 內部

備註

在 Windows XP 和更新版本的 Windows 中 ,!pool 擴充功能會顯示與每個配置相關聯的集區卷標。 也會顯示該集區標籤的擁有者。 此顯示是以pooltag.txt檔案的內容為基礎。 此檔案位於適用於 Windows 安裝之偵錯工具的分級子目錄中。 如果您想要 ,您可以編輯此檔案,以新增與專案相關的其他集區標籤。

警告 如果您在與目前版本相同的目錄中安裝 Windows 偵錯工具的更新版本,它會覆寫該目錄中的所有檔案,包括pooltag.txt。 如果您修改或取代範例pooltag.txt檔案,請務必將它的複本儲存到不同的目錄。 重新安裝調試程序之後,您可以透過預設版本複製已儲存的pooltag.txt。

如果 !pool 擴充功能報告集區損毀,您應該使用 !poolval 進行調查。

以下是範例。 如果 Address 指定0xE1001050,則會顯示此區塊中所有集區的標頭,且0xE1001050本身會以星號標示。

kd> !pool e1001050 
 e1001000 size:   40 previous size:    0  (Allocated)  MmDT
 e1001040 size:   10 previous size:   40  (Free)       Mm  
*e1001050 size:   10 previous size:   10  (Allocated) *ObDi
 e1001060 size:   10 previous size:   10  (Allocated)  ObDi
 e1001070 size:   10 previous size:   10  (Allocated)  Symt
 e1001080 size:   40 previous size:   10  (Allocated)  ObDm
 e10010c0 size:   10 previous size:   40  (Allocated)  ObDi
.....

在此範例中,最右邊的數據行會顯示集區標籤。 左邊的數據行會顯示集區是免費還是配置。

下列命令顯示集區標頭和集區內容:

kd> !pool e1001050 1
 e1001000 size:   40 previous size:    0  (Allocated)  MmDT
 e1001008  ffffffff 0057005c 004e0049 004f0044
    e1001018  ffffffff 0053005c 00730079 00650074

 e1001040 size:   10 previous size:   40  (Free)       Mm  
 e1001048  ffffffff e1007ba8 e1501a58 01028101
    e1001058  ffffffff 00000000 e1000240 01028101

*e1001050 size:   10 previous size:   10  (Allocated) *ObDi
 e1001058  ffffffff 00000000 e1000240 01028101
    e1001068  ffffffff 00000000 e10009c0 01028101

 e1001060 size:   10 previous size:   10  (Allocated)  ObDi
 e1001068  ffffffff 00000000 e10009c0 01028101
    e1001078  ffffffff 00000000 00000000 04028101

......