!pte
A extensão !pte mostra a entrada de tabela de página (PTE) e a entrada de diretório de página (PDE) para o endereço especificado.
Sintaxe
!pte VirtualAddress
!pte PTE
!pte LiteralAddress 1
Endereço virtual
Especifica o endereço virtual cuja tabela de página é desejada.
PTE
Especifica o endereço de um PTE real.
Endereço literal **** 1
Especifica o endereço de um PTE ou PDE real.
Kdexts.dll
Para informações sobre tabelas de página, diretórios de página e uma explicação dos bits de status, consulte Microsoft Windows Internals, de Mark Russinovich e David Solomon.
Se for fornecido um parâmetro que é um endereço na região da memória onde as tabelas de página estão armazenadas, o depurador tratará isso como o parâmetro PTE. Esse parâmetro é tomado como o endereço real do PTE desejado, e o depurador mostrará esse PTE e o PDE correspondente.
Se for fornecido um parâmetro que não seja um endereço nessa região, o depurador tratará isso como o parâmetro VirtualAddress. O PTE e o PDE que mantêm o mapeamento para esse endereço aparecem.
Se forem fornecidos dois parâmetros e o segundo parâmetro for 1 (ou qualquer outro número pequeno), o depurador tratará o primeiro parâmetro como LiteralAddress. Este endereço é interpretado como o endereço real de um PTE e como o endereço real de um PDE, e os dados correspondentes (e possivelmente inválidos) aparecerão.
(Somente computador de destino x86 ou x64) Se forem fornecidos dois parâmetros e o segundo parâmetro for maior que o primeiro, o depurador tratará os dois parâmetros como StartAddress e EndAddress. Depois, o comando exibe os PTEs para cada página no intervalo de memória especificado.
Para ver uma lista de todos os PTEs do sistema, use a extensão !sysptes.
Veja este exemplo de um computador de destino x86:
kd> !pte 801544f4
801544F4 - PDE at C0300800 PTE at C0200550
contains 0003B163 contains 00154121
pfn 3b G-DA--KWV pfn 154 G--A--KRV
A primeira linha deste exemplo reafirma o endereço virtual sendo investigado. Depois, ela fornece o endereço virtual do PDE e do PTE, que contêm informações sobre o mapeamento físico-virtual desse endereço.
A segunda linha apresenta o conteúdo em si do PDE e do PTE.
A terceira linha pega esses conteúdos e os analisa, dividindo-os no PFN (número de quadro de página) e nos bits de status.
Consulte a extensão !pfn ou a sessão Convertendo endereços virtuais em endereços físicos para obter informações sobre como interpretar e usar o PFN.
Em um computador de destino x86 ou x64, os bits de status para o PDE e o PTE são mostrados na tabela seguinte. A tela !pte indica esses bits com letras maiúsculas ou traços e também adiciona outras informações.
bit | Exibir quando definido | Exibir quando limpo | Significado |
---|---|---|---|
0x200 |
C |
- |
Copiar na gravação. |
0x100 |
G |
- |
Global. |
0x80 |
L |
- |
Página grande. Isso só ocorre em PDEs, nunca em PTEs. |
0x40 |
D |
- |
Suja. |
0x20 |
Um |
- |
Acessado. |
0x10 |
N |
- |
Cache desabilitado. |
0x8 |
T |
- |
Gravação. |
0x4 |
U |
K |
Proprietário (modo de usuário ou modo kernel). |
0x2 |
Qua |
R |
Gravável ou somente leitura. Somente em computadores com diversos processadores e em qualquer computador que execute o Windows Vista ou posterior. |
0x1 |
V |
Válido. |
|
E |
- |
Página executável. Para plataformas sem suporte para bit de execute/noexecute de hardware, incluindo diversos sistemas x86, o E é sempre exibido. |