Compartilhar via


Acesso à memória WdbgExts

Este tópico fornece uma breve visão geral de como o acesso à memória pode ser executado usando a API WdbgExts. Para obter uma visão geral do acesso à memória no mecanismo de depurador, consulte Memória na seção Visão geral do Mecanismo de Depurador desta documentação.

Memória Virtual

A memória virtual do destino pode ser lida usando a função ReadMemory e gravada usando a função WriteMemory . Os ponteiros na memória do destino podem ser lidos e gravados usando as funções ReadPointer, ReadPtr e WritePointer .

Para pesquisar na memória virtual um padrão de bytes, use a função SearchMemory .

A função TranslateVirtualToPhysical pode ser usada para converter um endereço de memória virtual em um endereço de memória física.

A função Disasm pode ser usada para desmontar uma única instrução de assembly no destino.

Para marcar os 4 GB baixos de memória para corrupção ao usar a PAE (extensão de endereço físico), use a operação IoctlIG_LOWMEM_CHECK.

Memória física

A memória física só pode ser acessada diretamente na depuração no modo kernel.

A memória física no destino pode ser lida usando as funções ReadPhysical e ReadPhysicalWithFlags e escrita usando as funções WritePhysical e WritePhysicalWithFlags .

Para pesquisar na memória física ponteiros para locais dentro de um intervalo especificado, use a operação IoctlIG_POINTER_SEARCH_PHYSICAL.

Outros Espaços de Dados

Na depuração no modo kernel, é possível ler e gravar dados em uma variedade de espaços de dados, além da memória main. Os seguintes espaços de dados podem ser acessados:

Memória de espaço de controle
As funções ReadControlSpace, ReadControlSpace64, ReadTypedControlSpace32 e ReadTypedControlSpace64 lerão dados de um espaço de controle. A função WriteControlSpace gravará dados em um espaço de controle.

Memória de E/S
As funções ReadIoSpace, ReadIoSpace64, ReadIoSpace64, ReadIoSpaceEx64 lerão dados da memória de E/S do sistema e da memória de E/S do barramento. As funções WriteIoSpace, WriteIoSpace64, WriteIoSpaceEx e WriteIoSpaceEx64 gravarão dados na memória de E/S do sistema e na memória de E/S do barramento.

MSR (Registro Específico do Modelo)
As funções ReadMsr e WriteMsr leem e gravam MSRs.

Barramento do Sistema
As operações do IoctlIG_GET_BUS_DATA e IG_SET_BUS_DATA ler e gravar dados do barramento do sistema.

Informações adicionais

Para obter uma API de acesso à memória mais avançada, consulte Acesso à memória na seção Usando a API do Mecanismo de Depurador desta documentação.