!ptov
!ptov 延伸模組會顯示指定進程的整個實體對虛擬對應。
!ptov DirBase
參數
DirBase
指定進程的目錄基底。 若要判斷目錄基底,請使用 !process 命令,並查看 DirBase 所顯示的值。
DLL
Kdexts.dll
備註
以下是範例。 首先,使用 .process 和 !process 來判斷目前進程的目錄基底:
1: kd> .process
Implicit process is now 852b4040
1: kd> !process 852b4040 1
PROCESS 852b4040 SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000
DirBase: 00185000 ObjectTable: 83203000 HandleCount: 663.
Image: System
...
在此情況下,目錄基底會0x00185000。 將此位址傳遞至 !ptov:
1: kd> !ptov 185000
X86PtoV: pagedir 185000, PAE enabled.
15e11000 10000
549e6000 20000
...
60a000 210000
40b000 211000
...
54ad3000 25f000
548d3000 260000
...
d71000 77510000
...
左側數據行中的數位是每個記憶體頁面的實體位址,具有此進程的對應。 右側數據列中的數位是其對應的虛擬位址。
總顯示時間很長。
以下是64位範例。
3: kd> .process
Implicit process is now fffffa80`0361eb30
3: kd> !process fffffa80`0361eb30 1
PROCESS fffffa800361eb30
SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000
DirBase: 00187000 ObjectTable: fffff8a000002870 HandleCount: 919.
Image: System
...
3: kd> !ptov 187000
Amd64PtoV: pagedir 187000
00000001`034fb000 1d0000
a757c000 1d1000
00000001`0103d000 1d2000
c041e000 1d3000
...
2ed6f000 fffff680`00001000
00000001`13939000 fffff680`00003000
ceefb000 fffff680`00008000
...
目錄基底是虛擬位址轉譯中使用的第一個數據表實體位址。 此數據表根據目標作業系統的位以及目標操作系統是否啟用實體位址延伸模組 (PAE) 的不同名稱。
對於 64 位 Windows,目錄基底是頁面對應層級 4 (PML4) 數據表的實體位址。 針對已啟用PAE的32位 Windows,目錄基底是頁面目錄指標 (PDP) 資料表的實體位址。 針對停用PAE的32位 Windows,目錄基底是Page Directory (PD) 資料表的實體位址。
如需相關主題,請參閱 !vtop 和將虛擬位址轉換成實體位址。 如需虛擬地址翻譯的相關信息,請參閱 Mark Russinovich 和 David 所羅門Microsoft Windows 內部。