Exibindo e editando registros no WinDbg (clássico)
Os registros são pequenas unidades de memória voláteis localizadas na CPU. Muitos registros são dedicados a usos específicos e outros registros estão disponíveis para uso de aplicativos no modo de usuário. Os processadores baseados em x86 e x64 têm diferentes coleções de registros disponíveis. Para obter mais informações sobre os registros em cada processador, consulte Arquitetura do processador.
No WinDbg, você pode exibir e editar registros inserindo comandos, usando a janela Registros ou usando a Janela inspeção.
Comandos
Você pode exibir e editar registros inserindo o comando r (Registros) na janela Comando do Depurador. Você pode personalizar a exibição usando várias opções ou usando o comando rm (Register Mask).
Os registros também são exibidos automaticamente sempre que o destino é interrompido. Se você estiver percorrendo seu código com os comandos p (Etapa) ou t (Rastreamento), verá uma exibição de registro em cada etapa. Para interromper essa exibição, use a opção r ao usar esses comandos.
Em um processador baseado em x86, a opção r também controla vários registros de um bit conhecidos como sinalizadores. Para alterar esses sinalizadores, use uma sintaxe ligeiramente diferente da alteração de registros regulares. Para obter mais informações sobre esses sinalizadores e uma explicação dessa sintaxe, consulte Sinalizadores x86.
A janela Registros
Abrindo a janela Registros
Para abrir ou alternar para a janela Registros, escolha Registros no menu Exibir . (Você também pode pressionar ALT+4 ou selecionar o botão Registros na barra de ferramentas . ALT+SHIFT+4 fecha a janela Registros.)
A captura de tela a seguir mostra um exemplo de uma janela Registros.
A janela Registros contém duas colunas. A coluna Reg lista todos os registros para o processador de destino. A coluna Valor exibe o valor atual de cada registro. Essa janela também contém um botão Personalizar na barra de ferramentas que abre a caixa de diálogo Personalizar Lista de Registros .
Usando a janela Registros
Na janela Registros, você pode fazer o seguinte:
A coluna Valor exibe o valor atual de cada registro. O valor do registro alterado mais recentemente é exibido em texto vermelho.
- Para inserir um novo valor, clique duas vezes em uma célula Value e digite um novo valor ou edite o valor antigo. (Os comandos recortar, copiar e colar estão disponíveis para uso para edição.)
- Para salvar o novo valor, pressione ENTER.
- Para descartar o novo valor, pressione ESC.
- Se você digitar um valor inválido, o valor antigo reaparecerá quando você pressionar ENTER.
Os valores de registro são exibidos no radix atual e você deve digitar novos valores no mesmo radix. Para alterar o radix atual, use o comando n (Definir Base numérica) na janela Comando do Depurador.
No modo de usuário, a janela Registros exibe os registros associados ao thread atual. Para obter mais informações sobre o thread atual, consulte Controlando processos e threads.
No modo kernel, a janela Registros exibe os registros associados ao contexto de registro atual. Você pode definir o contexto de registro para corresponder a um thread, registro de contexto ou quadro de interceptação específico. Somente os registros mais importantes para o contexto de registro especificado são realmente exibidos; você não pode alterar seus valores.
A janela Registros tem uma barra de ferramentas que contém um botão Personalizar e tem um menu de atalho com comandos adicionais. Para acessar o menu, selecione e segure (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 (
(Barra de ferramentas e menu) Personalizar abre a caixa de diálogo Personalizar Lista de Registros , que é descrita na seção a seguir neste tópico.
(Somente menu) A barra de ferramentas ativa e desativa a barra de ferramentas.
(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 Registros e a abre em um novo encaixe.
(Somente menu) Definir como destino de encaixe de tabulação para o tipo de janela não está disponível para a janela Registros. Essa opção só está disponível para janelas de origem ou memória.
(Somente menu) Sempre flutuante faz com que a janela permaneça desencaixada 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 esteja desencaixada.
(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 Personalizar Lista de Registros
Para alterar a lista de registros exibidos, selecione o botão Personalizar . A caixa de diálogo Personalizar Lista de Registros será exibida.
Nesta caixa de diálogo, você pode editar a lista de registros para alterar a ordem na qual os registros são exibidos. (Você não pode realmente excluir um registro da lista; se você fizer isso, ele reaparecerá no final.) Deve haver um espaço entre os nomes de registro.
Se você selecionar a caixa Exibir valores de registro modificados primeiro marcar, o registro cujos valores foram alterados mais recentemente aparecerá na parte superior.
Se você selecionar a caixa Não exibir subregistros marcar, os subregistros não serão exibidos. Por exemplo, eax será exibido, mas não ax, ah ou al.
Selecione OK para salvar suas alterações ou Cancelar para descartar suas alterações.
Se você estiver depurando um computador multiprocessador com mais de um tipo de processador, o WinDbg armazenará as configurações de personalização para cada tipo de processador separadamente. Essa separação permite personalizar a exibição dos registros de cada processador simultaneamente.
A janela Inspeção
No WinDbg, você pode usar a janela Inspeção para exibir registros. Não é possível usar a janela Inspeção para alterar os valores dos registros.
Para abrir a janela Inspeção, escolha Inspeção no menu Exibir . Você também pode pressionar ALT+2 ou selecionar o botão Inspeção na barra de ferramentas:
A captura de tela a seguir mostra um exemplo de uma janela Inspeção.
Confira também
Para obter mais informações sobre o contexto de registro e outras configurações de contexto, consulte Alterando contextos.