!peb
!peb 拡張は、プロセス環境ブロック (PEB) の情報をフォーマットして表示する。
!peb [PEB-Address]
パラメーター
PEB-Address
PEB を調べたいプロセスの 16 進アドレス。 (これは、そのプロセスのカーネル・プロセス・ブロックから得られるPEBのアドレスではない)。もし PEB-Address ユーザー・モードでPEBを省略した場合、現在のプロセスのPEBが使用される。 カーネルモードで省略された場合、PEBに対応する現在の プロセスコンテキスト が表示される。
DLL
Exts.dll
追加情報
プロセス環境ブロックについては 「Microsoft Windows internals」 (Mark RussinovichとDavidソロモン) を参照してください。
解説
PEBはMicrosoft Windowsプロセス制御構造のユーザーモード部分である。
もし !peb 引数なしの拡張モジュールはカーネル・モードでエラーになります。 !プロセス 拡張を使用して、目的のプロセスのPEBアドレスを決定する。 を確認してください。 プロセスコンテキスト の引数としてPEBアドレスを使用する !peb.
表示される正確な出力は、Windowsのバージョンと、カーネルモードでデバッグしているのか、ユーザーモードでデバッグしているのかによって異なる。 以下の例は、Windows Server 2003ターゲットにアタッチされたカーネル・デバッガーからのものである:
kd> !peb
PEB at 7ffdf000
InheritedAddressSpace: No
ReadImageFileExecOptions: No
BeingDebugged: No
ImageBaseAddress: 4ad00000
Ldr 77fbe900
Ldr.Initialized: Yes
Ldr.InInitializationOrderModuleList: 00241ef8 . 00242360
Ldr.InLoadOrderModuleList: 00241e90 . 00242350
Ldr.InMemoryOrderModuleList: 00241e98 . 00242358
Base TimeStamp Module
4ad00000 3d34633c Jul 16 11:17:32 2002 D:\WINDOWS\system32\cmd.exe
77f40000 3d346214 Jul 16 11:12:36 2002 D:\WINDOWS\system32\ntdll.dll
77e50000 3d3484ef Jul 16 13:41:19 2002 D:\WINDOWS\system32\kernel32.dll
....
SubSystemData: 00000000
ProcessHeap: 00140000
ProcessParameters: 00020000
WindowTitle: "'D:\Documents and Settings\Administrator\Desktop\Debuggers.lnk'"
ImageFile: 'D:\WINDOWS\system32\cmd.exe'
CommandLine: '"D:\WINDOWS\system32\cmd.exe" '
DllPath: 'D:\WINDOWS\system32;D:\WINDOWS\system32;....
Environment: 00010000
ALLUSERSPROFILE=D:\Documents and Settings\All Users
APPDATA=D:\Documents and Settings\UserTwo\Application Data
CLIENTNAME=Console
....
windir=D:\WINDOWS
同様の!teb エクステンションは、スレッド環境ブロックを表示する。