Condividi tramite


Accesso alla memoria WdbgExts

In questo argomento viene fornita una breve panoramica del modo in cui è possibile eseguire l'accesso alla memoria usando l'API WdbgExts. Per una panoramica dell'accesso alla memoria nel motore del debugger, vedere La memoria nella sezione Panoramica del motore di debugger di questa documentazione.

Memoria virtuale

La memoria virtuale della destinazione può essere letto usando la funzione ReadMemory e scritta usando la funzione WriteMemory . I puntatori nella memoria della destinazione possono essere letti e scritti usando le funzioni ReadPointer, ReadPtr e WritePointer.

Per cercare la memoria virtuale per un modello di byte, usare la funzione SearchMemory .

La funzione TranslateVirtualToPhysical può essere usata per convertire un indirizzo di memoria virtuale in un indirizzo di memoria fisica.

La funzione Disasm può essere usata per disassemblare una singola istruzione di assembly nella destinazione.

Per controllare la quantità bassa di memoria da 4 GB di memoria quando si usa l'estensione dell'indirizzo fisico (PAE), usare l'operazione IoctlIG_LOWMEM_CHECK.

Memoria fisica

La memoria fisica può essere accessibile solo direttamente nel debug in modalità kernel.

La memoria fisica nella destinazione può essere letto usando le funzioni ReadPhysical e ReadPhysicalWithFlags e scritte usando le funzioni WritePhysical e WritePhysicalWithFlags.

Per cercare la memoria fisica per i puntatori a posizioni all'interno di un intervallo specificato, usare l'operazione IoctlIG_POINTER_SEARCH_PHYSICAL.

Altri spazi dati

Nel debug in modalità kernel è possibile leggere e scrivere dati in un'ampia gamma di spazi dati oltre alla memoria principale. È possibile accedere agli spazi dati seguenti:

Memoria dello spazio di controllo
Le funzioni ReadControlSpace, ReadControlSpace64, ReadTypedControlSpace32 e ReadTypedControlSpace64 leggeranno i dati da uno spazio di controllo. La funzione WriteControlSpace scriverà i dati in uno spazio di controllo.

Memoria I/O
Le funzioni ReadIoSpace, ReadIoSpace64, ReadIoSpace64, ReadIoSpaceEx64 leggeranno i dati dalla memoria I/O del sistema e dalla memoria I/O del bus. Le funzioni WriteIoSpace, WriteIoSpace64, WriteIoSpaceEx e WriteIoSpaceEx64 scriveranno i dati nella memoria I/O di sistema e nella memoria I/O del bus.

Registro specifico del modello (MSR)
Le funzioni ReadMsr e WriteMsr in lettura e scrittura di msr .

Bus di sistema
Le operazioni IoctlIG_GET_BUS_DATA e IG_SET_BUS_DATA dati del bus di sistema di lettura e scrittura.

Informazioni aggiuntive

Per un'API di accesso alla memoria più potente, vedere Accesso alla memoria nella sezione Uso dell'API motore di debugger di questa documentazione.