Condividi tramite


Accesso alla memoria WdbgExts

Questo argomento offre una breve panoramica dell'esecuzione dell'accesso alla memoria tramite l'API WdbgExts. Per una panoramica dell'accesso alla memoria nel motore di debugger, vedere La memoria nella sezione Panoramica del motore di debugger di questa documentazione.

Memoria virtuale

La memoria virtuale della destinazione può essere letta 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 nella memoria virtuale 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 corruzione nei 4 GB inferiori di memoria utilizzando l'estensione dell'indirizzo fisico (PAE), utilizzare l'operazione IoctlIG_LOWMEM_CHECK.

Memoria fisica

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

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

Per cercare nella memoria fisica i puntatori in 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:

Control-Space memoria
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 di I/O
Le funzioni ReadIoSpace, ReadIoSpace64, ReadIoSpace64, ReadIoSpaceEx64 leggeranno i dati dalla memoria di I/O di sistema e dalla memoria di I/O del bus. Le funzioni WriteIoSpace, WriteIoSpace64, WriteIoSpaceEx e WriteIoSpaceEx64 scriveranno i dati nella memoria di I/O di sistema e nella memoria di I/O del bus.

Registro specifico del modello (MSR)
Le funzioni ReadMsr e WriteMsr leggono e scrivono gli msr.

Bus di sistema
Le operazioni IoctlIG_GET_BUS_DATA e IG_SET_BUS_DATA leggere e scrivere dati del bus di sistema.

informazioni aggiuntive

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