Noções básicas de depuração: Janela registros
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
O registra janela estará disponível somente se a depuração de nível de endereço está habilitada no Opções caixa de diálogo, depuração nó.
Registradores são locais especiais dentro de um processador (CPU) que são usados para armazenar pequenas quantidades de dados que o processador está trabalhando ativamente na. Compilando ou interpretar o código-fonte gera instruções mover dados da memória para os registros e voltar novamente, conforme necessário. Acessando dados de registros é muito rápida em comparação com o acesso a dados na memória, portanto, o código que permite que o processador manter os dados em um registro e acessá-lo repetidamente tende a executar mais rápido do que o código que requer o processador para carregar e descarregar os registradores de constantemente. Para tornar mais fácil para o compilador manter os dados em registros e realizar outras otimizações, você deve evitar o uso de variáveis globais e dependem de variáveis locais tanto quanto possível. Código escrito dessa maneira é considerado como tendo uma boa localidade de referência. Em alguns idiomas, como, por exemplo, C/C++, o programador pode declarar uma variável do Registro informa ao compilador para tentar o melhor possível para manter a variável em um registro em todos os momentos. Para obter mais informações, consulte Palavra-chave de registro.
Registros podem ser divididos em dois tipos: finalidade geral e finalidade especial. Registradores de propósito gerais mantêm os dados para operações gerais, como, por exemplo, adicionar dois números juntos ou fazendo referência a um elemento em uma matriz. Registradores de propósito especial têm finalidades específicas e o significado especializado. Um bom exemplo é o registro de ponteiro de pilha, o processador usa para manter o controle de pilha de chamadas do programa. Como programador, você irá provavelmente não manipular o ponteiro de pilha diretamente. No entanto, é essencial para o funcionamento correto do seu programa porque sem o ponteiro de pilha, o processador não saberia where retornar ao final de uma chamada de função.
A maioria dos registros de uso gerais mantêm apenas um elemento de dados único. Por exemplo, um único inteiro, número de ponto flutuante ou elemento de uma matriz. Alguns processadores mais novos têm maior registra, chamada de registradores de vetor, que podem conter uma matriz de pequena de dados. Porque eles mantêm muitos dados, registradores de vetor permitem operações envolvendo arrays a serem executadas muito rapidamente. Registradores de vetor foram usados pela primeira vez em supercomputadores caros de alto desempenho, mas agora estão se tornando disponíveis em microprocessadores, onde eles são usados para a grande vantagem em operações intensivas de gráficas.
Um processador normalmente tem dois conjuntos de registros de uso gerais, um otimizado para operações de ponto flutuante e outro para operações com inteiros. Não é surpresa que eles são chamados de ponto flutuante e registra de inteiro.
Código gerenciado é compilado em tempo de execução para código nativo que acessa os registradores físicos do microprocessador. O registra janela exibe esses registradores de físicos para o common language runtime ou código nativo. O registra janela não exibe informações de registro de script ou aplicativo de SQL, porque o script e SQL são linguagens que não suportam o conceito de registradores.
Para obter mais informações sobre a exibição de registra janela, consulte usando a janela registra.
Quando você examinar o registra janela, você verá entradas como, por exemplo, este exemplo:
EAX = 003110D8
O símbolo à esquerda do sinal de = é o nome de registrador EAX, nesse caso. O número à direita do sinal de = representa o conteúdo do registro.
O registra janela permite que você faça mais do que apenas exibir o conteúdo de um registro. Quando você estiver no modo de interrupção no código nativo, você clique no conteúdo de um registrador e editar o valor. Isso não é algo que você deve fazer aleatoriamente. A menos que você entende o registro que você está editando e os dados que nele contidos, o resultado da edição descuidado é provável que haja uma falha do programa ou outra conseqüência indesejada. Infelizmente, uma explicação detalhada dos conjuntos de registro dos vários processadores Intel e compatível com Intel vai muito além do escopo desta Introdução breve.
Registrar grupos
Para evitar confusão, o registra janela organiza os registros em grupos. Se você com o botão direito sobre o registra janela, você verá um menu de atalho contendo uma lista de grupos, que você pode exibir ou ocultar o como desejar.