Debugging Tools for Windows |
!peb 扩展显示进程环境块(PEB)信息的格式化形式。
Windows 2000 | Kdextx86.dll Ntsdexts.dll |
Windows XP和之后 | Exts.dll |
PEB是Microsoft Windows进程控制结构的用户模式部分。
如果内核模式下不带参数使用!peb命令时出错,则需要用!process扩展命令来 获得需要的进程的PEB地址。 要确认进程上下文是设置成需要的进程的,并且将该PEB地址作为!peb的参数。
具体显示出来的输出根据不同的Windows版本以及是在内核模式还是用户模式下调试会有所不同。下面是一个附加到Windows Server 2003目标机上的内核调试器的输出示例:
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扩展命令用于显示线程环境块。
关于进程环境块的更多信息,查看Mark Russinovich 和David Solomon 编写的Microsoft Windows Internals。