次の方法で共有


!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 行には、この特定のアドレスの実際の保護が表示されます。