!vadump
!vadump 扩展显示所有虚拟内存范围及其相应的保护信息。
!vadump [-v]
参数
-v
也会导致显示包含有关每个原始分配区域的信息。 由于在分配内存后,区域内的单个地址的保护可能会被更改(例如通过 VirtualProtect 更改),因此这个较大区域的原始保护状态可能与区域内每个范围的保护状态有所不同。
DLL
Uext.dll
其他信息
要查看单个虚拟地址的内存保护信息,请使用 !vprot。 有关内存保护的信息,请参阅 Mark Russinovich 和 David Solomon 编写的 Microsoft Windows 内部资料。
注解
以下是示例:
0:000> !vadump
BaseAddress: 00000000
RegionSize: 00010000
State: 00010000 MEM_FREE
Protect: 00000001 PAGE_NOACCESS
BaseAddress: 00010000
RegionSize: 00001000
State: 00001000 MEM_COMMIT
Protect: 00000004 PAGE_READWRITE
Type: 00020000 MEM_PRIVATE
.........
在此显示中,State 行显示从指定 BaseAddress 开始的内存范围的状态。 可能的状态值为 MEM_COMMIT、MEM_FREE 和 MEM_RESERVE。
Protect 行显示此内存范围的保护状态。 可能的保护值为 PAGE_NOACCESS、PAGE_READONLY、PAGE_READWRITE、PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE、PAGE_WRITECOPY、PAGE_EXECUTE_WRITECOPY 和 PAGE_GUARD。
Type 行显示内存类型。 可能的值为 MEM_IMAGE、MEM_MAPPED 和 MEM_PRIVATE。
下面是一个使用 -v 参数的示例:
0:000> !vadump -v
BaseAddress: 00000000
AllocationBase: 00000000
RegionSize: 00010000
State: 00010000 MEM_FREE
Protect: 00000001 PAGE_NOACCESS
BaseAddress: 00010000
AllocationBase: 00010000
AllocationProtect: 00000004 PAGE_READWRITE
RegionSize: 00001000
State: 00001000 MEM_COMMIT
Protect: 00000004 PAGE_READWRITE
Type: 00020000 MEM_PRIVATE
.........
使用 -v 时,AllocationProtect 行会显示整个区域创建时的默认保护。 Protect 行显示对该特定地址的实际保护。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈