!pool

The !pool エクステンションは、特定のプール割り当てに関する情報、またはシステム全体のプールに関する情報を表示する。

!pool [Address [Flags]]

パラメーター

住所
表示するプールエントリーを指定する。 もし 住所 が-1の場合、このコマンドはプロセス内のすべてのヒープに関する情報を表示する。

もし 住所 が0または省略された場合、このコマンドはプロセスのヒープに関する情報を表示する。

フラグ
使用する詳細レベルを指定する。 デフォルトはゼロ:

ビット 0 (0x1)
プールのヘッダだけでなく、プールの内容も表示するようにする。

ビット 1 (0x2)
指定されたプールを実際に含むプール以外のすべてのプールのプールヘッダ情報を表示しないようにする 住所.

Bit 31 (0x80000000)
プールタイプとプールタグの説明を表示しない。

DLL

Kdexts.dll

追加情報

メモリプールについては、Windows Driver Kit (WDK) のドキュメントと マイクロソフト・ウィンドウズ内部, マーク・ラシノビッチとデイヴィッド・ソロモン著。

解説

Windows XP およびそれ以降のバージョンの Windows では !プール 拡張は、各割当に関連付けられているプールタグを表示する。 そのプールタグの所有者も表示される。 この表示はpooltag.txtファイルの内容に基づいている。 このファイルは、Debugging Tools for Windowsのtriageサブディレクトリにあります。 必要であれば、このファイルを編集して、プロジェクトに関連するプール・タグを追加することができる。

警告 Windows 用 Debugging Tools の更新版を現在のバージョンと同じディレクトリにインストールすると、pooltag.txt を含むそのディレクトリ内のすべてのファイルが上書きされます。 サンプルのpooltag.txtファイルを変更または置き換える場合は、必ずそのコピーを別のディレクトリに保存してください。 デバッガーを再インストールした後、保存した pooltag.txt をデフォルトバージョンにコピーできます。

もし !プール 拡張モジュールがプールの破損を報告した場合は !プールバル を調査する。

次に例を示します。 もし 住所 が 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

......