!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). Для 32-разрядной версии Windows с поддержкой PAE база каталогов — это физический адрес таблицы указателей каталога страниц (PDP). Для 32-разрядной версии Windows с отключенным paE база каталогов — это физический адрес таблицы page Directory (PD).

Дополнительные сведения см. в статье !vtop и преобразование виртуальных адресов в физические адреса. Сведения о переводе виртуальных адресов см. в разделе "Внутренние компоненты Microsoft Windows", Марк Руссинович и Дэвид Соломон.