Debugging Tools for Windows

!vprot

!vprot扩展命令显示虚拟内存保护信息。

语法

!vprot [Address

参数

Address
指定要查看内存保护状态的16进制地址。

DLL

Windows 2000 Uext.dll
Ntsdexts.dll
Windows XP和之后 Uext.dll

注释

!vprot扩展命令可以用于活动调试和dump文件调试。

下面是示例:

0:000> !vprot 30c191c
BaseAddress: 030c1000
AllocationBase: 030c0000
AllocationProtect: 00000080 PAGE_EXECUTE_WRITECOPY
RegionSize: 00011000
State: 00001000 MEM_COMMIT
Protect: 00000010 PAGE_EXECUTE
Type: 01000000 MEM_IMAGE

输出中, AllocationProtect 行显示整个区域被创建时设置的默认保护属性。注意该区域中各个单独的地址可能在之后更改了保护属性(例如调用了VirtualProtect)。Protect行显示指定地址处实际的保护属性。保护属性的值有PAGE_NOACCESS、PAGE_READONLY、PAGE_READWRITE、PAGE_EXECUTE、 PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE、PAGE_WRITECOPY、PAGE_EXECUTE_WRITECOPY和 PAGE_GUARD。

State行对应传递给!vprot的虚拟地址。可能的状态有MEM_COMMIT、MEM_FREE、和MEM_RESERVE。

Type行显示内存类型。可能的值有MEM_IMAGE、MEM_MAPPED和 MEM_PRIVATE。

附加信息

要查看目标进程拥有的所有内存区域的保护信息,可以使用!vadump。关于内存保护的信息,查看Mark Russinovich 和David Solomon 编写的Microsoft Windows Internals

Build machine: CAPEBUILD