Condividi tramite


!Pte

L'estensione !pte visualizza la voce della tabella di pagina (PTE) e la voce di directory della pagina (PDE) per l'indirizzo specificato.

Sintassi

!pte VirtualAddress 
!pte PTE 
!pte LiteralAddress 1 

Parametri

VirtualAddress
Specifica l'indirizzo virtuale di cui si desidera la tabella di pagina.

PTE
Specifica l'indirizzo di un PTE effettivo.

LiteralAddress **** 1
Specifica l'indirizzo di un PTE o PDE effettivo.

DLL

Kdexts.dll

Informazioni aggiuntive

Per informazioni sulle tabelle di pagine, le directory di pagina e una spiegazione dei bit di stato, vedere Microsoft Windows Internals, di Mark Russinovich e David Solomon.

Osservazioni:

Se viene specificato un parametro e questo parametro è un indirizzo nell'area di memoria in cui vengono archiviate le tabelle di pagina, il debugger considera questo parametro come parametro PTE . Questo parametro viene considerato come indirizzo effettivo del PTE desiderato e il debugger visualizzerà questo PTE e il PDE corrispondente.

Se viene specificato un parametro e questo parametro non è un indirizzo in questa area, il debugger considera questo parametro come parametro VirtualAddress . Vengono visualizzati il PTE e il PDE che contengono il mapping per questo indirizzo.

Se vengono forniti due parametri e il secondo parametro è 1 (o qualsiasi altro numero ridotto), il debugger considera il primo parametro come LiteralAddress. Questo indirizzo viene interpretato come l'indirizzo effettivo di un PTE e anche come indirizzo effettivo di un PDE e i dati corrispondenti (e possibilmente non validi) verranno visualizzati.

(solo computer di destinazione x86 o x64) Se vengono forniti due parametri e il secondo parametro è maggiore del primo, il debugger considera i due parametri come StartAddress e EndAddress. Il comando visualizza quindi i PTEs per ogni pagina nell'intervallo di memoria specificato.

Per un elenco di tutti i ptes di sistema, usare l'estensione !sysptes .

Di seguito è riportato un esempio da un computer di destinazione 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

La prima riga di questo esempio riformulare l'indirizzo virtuale analizzato. Assegna quindi l'indirizzo virtuale del PDE e il PTE, che contengono informazioni sul mapping fisico virtuale di questo indirizzo.

La seconda riga fornisce il contenuto effettivo del PDE e del PTE.

La terza riga accetta questi contenuti e li analizza, suddividendoli nel numero di frame di pagina (PFN) e nei bit di stato.

Vedere l'estensione !pfn o la sezione Conversione di indirizzi virtuali in indirizzi fisici per informazioni su come interpretare e usare il pfn.

In un computer di destinazione x86 o x64, i bit di stato per il PDE e il PTE sono illustrati nella tabella seguente. La visualizzazione !pte indica questi bit con lettere maiuscole o trattini e aggiunge anche informazioni aggiuntive.

Bit Visualizza quando impostato Visualizza quando è deselezionata significato

0x200

A

-

Copia in scrittura.

0x100

G

-

Globale.

0x80

L

-

Pagina grande. Questo si verifica solo nei PDE, mai in PTEs.

0x40

D

-

Sporco.

0x20

Un

-

Afferrato.

0x10

N

-

Cache disabilitata.

0x8

T

-

Write-through.

0x4

U

K

Proprietario (modalità utente o modalità kernel).

0x2

W

R

Scrivibile o di sola lettura. Solo nei computer multiprocessore e in qualsiasi computer che esegue Windows Vista o versione successiva.

0x1

V

Valevole.

E

-

Pagina eseguibile. Per le piattaforme che non supportano un bit di esecuzione hardware/noexecute, inclusi molti sistemi x86, l'E viene sempre visualizzato.