Compartilhar via


!ptov

A extensão !ptov mostra todo o mapa físico-para-virtual de um determinado processo.

!ptov DirBase

Parâmetros

DirBase
Especifica a base de diretório do processo. Para determinar a base do diretório, use o comando !process e examine o valor mostrado para DirBase.

DLL

Kdexts.dll

Comentários

Veja um exemplo. Primeiro, use .process e !process para determinar a base de diretórios do processo atual:

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
    ...

Neste caso, a base do diretório é 0x00185000. Passe este endereço a !ptov:

1: kd> !ptov 185000
X86PtoV: pagedir 185000, PAE enabled.
15e11000 10000
549e6000 20000
...
60a000 210000
40b000 211000
...
54ad3000 25f000
548d3000 260000
...
d71000 77510000
...

Os números na coluna da esquerda são os endereços físicos de cada página de memória que tem mapeamento para esse processo. Os números na coluna da direita são os endereços virtuais aos quais são mapeados.

A exibição total é bem longa.

Segue um exemplo de 64 bits.

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
...

A base do diretório é o endereço físico da primeira tabela para converter endereços virtuais. Esta tabela tem nomes diferentes, dependendo do número de bits do sistema operacional de destino e se a PAE (Extensão do Endereço Físico) está habilitada para o sistema operacional de destino.

Para Windows de 64 bits, a base do diretório é o endereço físico da tabela PML4 (Page Map Level 4). Para Windows de 32 bits com PAE habilitado, a base do diretório é o endereço físico da tabela PDP (Ponteiros do diretório de páginas). Para o Windows de 32 bits com PAE desabilitado, o diretório bas é o endereço físico da tabela PD (diretório de páginas).

Para tópicos relacionados, consulte !vtop e Convertendo endereços virtuais em endereços físicos. Para obter informações sobre conversão de endereço virtual, consulte Microsoft Windows Internals, de Mark Russinovich e David Solomon.