Partager via


!ptov

L'extension !ptov affiche l'ensemble de la carte physique-virtuelle pour un processus donné.

!ptov DirBase

Paramètres

DirBase
Spécifie la base du répertoire pour le processus. Pour déterminer la base du répertoire, utilisez la commande !process, et regardez la valeur affichée pour DirBase.

DLL

Kdexts.dll

Notes

Voici un exemple. Tout d'abord, utilisez .process et !process pour déterminer la base du répertoire du processus en cours :

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

Dans ce cas, la base du répertoire est 0x00185000. Transmettez cette adresse à !ptov :

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

Les chiffres de la colonne de gauche sont les adresses physiques de chaque page de mémoire qui a une correspondance pour ce processus. Les chiffres de la colonne de droite sont les adresses virtuelles auxquelles elles sont associées.

L'affichage total est très long.

Voici un exemple 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
...

La base du répertoire est l'adresse physique de la première table utilisée pour la traduction des adresses virtuelles. Cette table porte des noms différents en fonction du nombre de bits du système d'exploitation cible et de l'activation ou non de l'extension d'adresse physique (PAE) pour le système d'exploitation cible.

Pour Windows 64 bits, la base du répertoire est l'adresse physique de la table Page Map Level 4 (PML4). Pour Windows 32 bits avec PAE activé, la base du répertoire est l'adresse physique de la table Page Directory Pointers (PDP). Pour les systèmes d'exploitation Windows 32 bits avec PAE désactivé, la base du répertoire est l'adresse physique de la table Page Directory (PD).

Pour des rubriques connexes, consultez !vtop et Convertir des adresses virtuelles en adresses physiques. Pour en savoir plus sur la traduction d'adresses virtuelles, veuillez consulter Microsoft Windows Internals (Au cœur de Windows) de Mark Russinovich et David Solomon.