Partilhar via


Exibindo e editando memória no WinDbg (clássico)

No WinDbg, você pode exibir e editar a memória inserindo comandos ou usando uma janela Memória.

Janela Comando do Depurador

Você pode exibir a memória inserindo um dos comandos Exibir Memória na janela Comando do Depurador. Você pode editar a memória inserindo um dos comandos Inserir Valores na janela Comando do Depurador. Para obter mais informações, consulte Acessando memória por endereço virtual e acessando memória por endereço físico.

Abrindo uma janela de memória

Para abrir uma janela Memória, escolha Memória no menu Exibir . (Você também pode pressionar ALT+5 ou selecionar o botão Memória (Captura de tela do botão Memória no WinDbg.

A captura de tela a seguir mostra um exemplo de uma janela Memória.

Captura de tela de um exemplo de janela Memória no WinDbg.

Usando uma janela de memória

A janela Memória exibe dados em várias colunas. A coluna no lado esquerdo da janela mostra o endereço inicial de cada linha. As colunas restantes exibem as informações solicitadas da esquerda para a direita. Se você selecionar Bytes no menu Formato de exibição , os caracteres ASCII que correspondem a esses bytes serão exibidos no lado direito da janela.

Nota Por padrão, a janela Memória exibe memória virtual. Esse tipo de memória é o único tipo de memória disponível no modo de usuário. No modo kernel, você pode usar a caixa de diálogo Opções de Memória para exibir memória física e outros espaços de dados. A caixa de diálogo Opções de Memória é descrita posteriormente neste tópico.

Na janela Memória, você pode fazer o seguinte:

  • Para gravar na memória, selecione dentro da janela Memória e digite novos dados. Você pode editar apenas dados hexadecimais— não é possível editar diretamente caracteres ASCII e Unicode. As alterações entrarão em vigor assim que você digitar novas informações.

  • Para ver outras seções de memória, use os botões Anterior e Próximo na barra de ferramentas janela Memória ou pressione as teclas PAGE UP ou PAGE DOWN. Esses botões e teclas exibem as seções imediatamente anteriores ou seguintes da memória. Se você solicitar uma página inválida, uma mensagem de erro será exibida.

  • Para navegar dentro da janela, use as teclas seta para a direita, seta para a esquerda, seta para cima e seta para baixo. Se você usar essas chaves para sair da página, uma nova página será exibida. Antes de usar essas teclas, você deve redimensionar a janela Memória para que ela não tenha barras de rolagem. Esse dimensionamento permite distinguir entre a borda real da página e o corte da janela.

  • Para alterar o local de memória que está sendo exibido, insira um novo endereço na caixa de endereço na parte superior da janela Memória. Observe que a janela Memória atualiza sua exibição enquanto você insere um endereço, para que você possa obter mensagens de erro antes de concluir a digitação do endereço.

    Nota O endereço que você insere na caixa é interpretado no radix atual. Se o radix atual não for 16, você deverá prefixar um endereço hexadecimal com 0x. Para alterar o radix padrão, use o comando n (Definir Base numérica) na janela Comando do Depurador. A exibição dentro da janela Memória em si não é afetada pelo radix atual.

  • Para alterar o tipo de dados que a janela usa para exibir memória, use o menu Formato de exibição na barra de ferramentas janela Memória. Os tipos de dados com suporte incluem palavras curtas, palavras duplas e palavras quad; números inteiros curtos, longos e quad e inteiros sem sinal; Números reais de 10 bytes, 16 bytes, 32 bits e 64 bits; Caracteres ASCII; Caracteres Unicode; e bytes hexadecimais. A exibição de bytes hexadecimais também inclui caracteres ASCII.

A janela Memória tem uma barra de ferramentas que contém dois botões, um menu e uma caixa e tem um menu de atalho com comandos adicionais. Para acessar o menu, selecione e segure (ou clique com o botão direito do mouse) na barra de título ou selecione o ícone próximo ao canto superior direito da janela na barra de ferramentas. ALT+SHIFT+5 fecha a janela Memória ativa.

  • (Somente barra de ferramentas) A caixa de endereço permite que você especifique um novo endereço ou deslocamento. O significado exato dessa caixa depende do tipo de memória que você está exibindo. Por exemplo, se você estiver exibindo memória virtual, a caixa permitirá que você especifique um novo endereço virtual ou deslocamento.

  • (Somente barra de ferramentas) O formato de exibição permite que você selecione um novo formato de exibição.

  • (Barra de ferramentas e menu) Anterior (na barra de ferramentas) e Página anterior (no menu de atalho) fazem com que a seção anterior da memória seja exibida.

  • (Barra de ferramentas e menu) Em seguida (na barra de ferramentas) e próxima página (no menu de atalho) fazem com que a próxima seção da memória seja exibida.

  • (Somente menu) A barra de ferramentas ativa e desativa a barra de ferramentas.

  • (Somente menu) O ajuste automático de colunas garante que o número de colunas exibidas na janela Memória se ajuste à largura da janela Memória.

  • (Somente menu) Encaixar ou Desencaixar faz com que a janela entre ou deixe o estado encaixado.

  • (Somente menu) Mover para o novo encaixe fecha a janela Memória e a abre em um novo encaixe.

  • (Somente menu) Definir como destino de encaixe de guia para o tipo de janela define a janela Memória selecionada como o destino tab-dock para outras janelas de memória. Todas as janelas memória que são abertas depois que uma é escolhida como o destino tab-dock são agrupadas automaticamente com essa janela em uma coleção com guias.

  • (Somente menu) Sempre flutuante faz com que a janela permaneça não encaixada mesmo que ela seja arrastada para um local de encaixe.

  • (Somente menu) Mover com quadro faz com que a janela se mova quando o quadro WinDbg é movido, mesmo que a janela não esteja encaixada.

  • (Somente menu) Propriedades abre a caixa de diálogo Opções de Memória , que é descrita na seção a seguir neste tópico.

  • (Somente menu) A Ajuda abre este tópico na documentação das Ferramentas de Depuração para Windows.

  • (Somente menu) Fechar fecha esta janela.

Caixa de diálogo Opções de Memória

Quando você seleciona Propriedades no menu de atalho, a caixa de diálogo Opções de Memória é exibida.

No modo kernel, há seis tipos de memória disponíveis como guias nesta caixa de diálogo: Memória Virtual, Memória Física, Dados do Barramento, Dados de Controle, E/S (informações da porta de E/S) e MSR (informações de registro específicas do modelo). Selecione a guia que corresponde às informações que você deseja acessar.

No modo de usuário, somente a guia Memória Virtual está disponível.

Cada guia permite que você especifique a memória que deseja exibir:

  • Na guia Memória Virtual , na caixa Deslocamento , especifique o endereço ou deslocamento do início do intervalo de memória que você deseja exibir.

  • Na guia Memória Física , na caixa Deslocamento , especifique o endereço físico do início do intervalo de memória que você deseja exibir. A janela Memória pode exibir apenas a memória física em cache descrita. Se você quiser exibir memória física que tenha outros atributos, use o comando d* (Exibir Memória) ou a extensão !d* \.

  • Na guia Dados do Barramento , no menu Tipo de Dados do Barramento , especifique o tipo de dados do barramento. Em seguida, use as caixas Número do barramento, Número do slot e Deslocamento para especificar os dados do barramento que você deseja exibir.

  • Na guia Dados de Controle , use as caixas de texto Processador e Deslocamento para especificar os dados de controle que você deseja exibir.

  • Na guia E/S , no menu Tipo de Interface , especifique o tipo de interface de E/S. Use as caixas Número do barramento, Espaço de endereço e Deslocamento para especificar os dados que você deseja exibir.

  • Na guia MSR , na caixa MSR , especifique o registro específico do modelo que você deseja exibir.

Cada guia também inclui um menu Formato de exibição . Esse menu tem o mesmo efeito que o menu Formato de exibição na janela Memória.

Selecione OK na caixa de diálogo Opções de Memória para fazer com que as alterações entrem em vigor.

Informações adicionais

Para obter mais informações sobre manipulação de memória e uma descrição de outros comandos relacionados à memória, consulte Leitura e gravação de memória.