!vadump
!vadump 拡張機能は、仮想メモリの範囲と対応する保護情報をすべて表示します。
!vadump [-v]
パラメーター
-v
元の各割り当て領域に関する情報も表示に含めます。 領域内の個々のアドレスでは、メモリの割り当て後に (VirtualProtect などによって) 保護が変更される可能性があるため、それらが含まれる、より大きな領域の元の保護状態は、領域内の各範囲の保護状態と同じではない可能性があります。
DLL
Uext.dll
追加情報
単一の仮想アドレスのメモリ保護情報を表示するには、!vprot を使用します。 メモリ保護については、『Microsoft Windows Internals』 (Mark Russinovich および David Solomon 共著) を参照してください。
解説
例を次に示します。
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 行には、この特定のアドレスの実際の保護が表示されます。