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