Share via


Sintaxe de registro

O depurador pode controlar registros e registros de ponto flutuante.

Ao usar um registro em uma expressão, você deve adicionar um sinal de at ( @ ) antes do registro. Isso no sinal informa ao depurador que o texto a seguir é o nome de um registro.

Se você estiver usando a sintaxe de expressão MASM, poderá omitir o sinal em para determinados registros muito comuns. Em sistemas baseados em x86, você pode omitir o sinal em para os registros eax, ebx, ecx, edx, esi, edi, ebp, eip e efl . No entanto, se você especificar um registro menos comum sem um sinal de at, o depurador primeiro tentará interpretar o texto como um número hexadecimal. Se o texto contiver caracteres não hexadecimais, o depurador interpretará o texto como um símbolo. Por fim, se o depurador não encontrar uma correspondência de símbolo, o depurador interpretará o texto como um registro.

Se você estiver usando a sintaxe de expressão C++, o sinal em será sempre necessário.

O comando r (Registers) é uma exceção a essa regra. O depurador sempre interpreta seu primeiro argumento como um registro. (Um sinal de não é necessário ou permitido.) Se houver um segundo argumento para o comando r , ele será interpretado de acordo com a sintaxe de expressão padrão. Se a sintaxe de expressão padrão for C++, você deverá usar o comando a seguir para copiar o registro ebx para o registro eax .

0:000> r eax = @ebx

Para obter mais informações sobre os registros e instruções que são específicos para cada processador, consulte Arquitetura do processador.

Sinalizadores em um processador baseado em x86

Os processadores baseados em x86 também usam vários registros de 1 bit conhecidos como sinalizadores. Para obter mais informações sobre esses sinalizadores e a sintaxe que você pode usar para exibi-los ou alterá-los, consulte Sinalizadores x86.

Registros e threads

Cada thread tem seus próprios valores de registro. Esses valores são armazenados nos registros de CPU quando o thread está em execução e na memória quando outro thread está em execução.

No modo de usuário, qualquer referência a um registro é interpretada como o registro associado ao thread atual. Para obter mais informações sobre o thread atual, consulte Controlando processos e threads.

No modo kernel, qualquer referência a um registro é interpretada como o registro associado 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. Você pode exibir apenas os registros mais importantes para o contexto de registro especificado e não pode alterar seus valores.