Partilhar via


Visualizando 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 de Comando do Depurador

Você pode visualizar 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 Enter Values 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.

Abrir 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 de memória.

Captura de tela de um exemplo de janela de 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.

Observação Por padrão, a janela Memória exibe memória virtual. Este tipo de memória é o único tipo de memória que está disponível no modo de utilizador. 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 entram em vigor assim que você digita novas informações.

  • Para ver outras secções da memória, utilize os botões Anterior e Seguinte na barra de ferramentas da janela Memória ou prima 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 setas para a direita, para a esquerda, para cima e para baixo. Se você usar essas teclas 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 que você distinga entre a borda da página real e o corte da janela.

  • Para alterar o local da memória que está sendo visualizado, digite 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 receber mensagens de erro antes de concluir a digitação do endereço.

    Observação O endereço que você insere na caixa é interpretado no radix atual. Se o radix atual não for 16, você deve prefixar um endereço hexadecimal com 0x. Para alterar o radix padrão, use o comando n (set Number Base) na janela Debugger Command. 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 da janela Memória. Os tipos de dados suportados incluem palavras curtas, palavras duplas e palavras quádruplas; inteiros curtos, longos e quádruplos e inteiros não assinados; 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) a barra de título ou selecione o ícone perto do canto superior direito da janela na barra de ferramentas. ALT+SHIFT+5 fecha a janela Memória ativa.

  • (Apenas barra de ferramentas) A caixa de endereço permite especificar um novo endereço ou deslocamento. O significado exato desta caixa depende do tipo de memória que você está visualizando. Por exemplo, ao visualizar a memória virtual, a caixa permite especificar um novo endereço virtual ou deslocamento.

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

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

  • (Barra de ferramentas e menu) Próxima (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) liga/desliga a barra de ferramentas.

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

  • (Apenas menu) Encaixar ou Libertar faz com que a janela entre ou saia do estado encaixado.

  • (Apenas menu) Mover para nova doca fecha a janela Memória e abre-a numa nova doca.

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

  • (Apenas menu) A flutuação constante faz com que a janela permaneça desancorada, mesmo que seja arrastada para um local de ancoragem.

  • (Apenas no menu) Mover com o quadro faz com que a janela se mova quando o quadro do WinDbg é movido, mesmo que a janela esteja desencaixada.

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

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

  • (Apenas 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 de Barramento, Dados de Controlo, E/S (informações de porta de E/S) e MSR (informações de registo 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 descrita, que pode ser armazenada em cache. Se você quiser exibir memória física que tenha outros atributos, use o comando d* (Display Memory) 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, utilize as caixas Número do barramento, Número do slot e Deslocamento para especificar os dados do barramento que pretende exibir.

  • Na guia Dados de Controle, use as caixas de texto Processador e Deslocamento para especificar os dados de controle que pretende visualizar.

  • 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 separador também inclui um menu de Formato de Exibição. Este 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ção Adicional

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