Partilhar via


Depuração de código de assembly no WinDbg (clássico)

No WinDbg, você pode visualizar o código assembly inserindo comandos ou usando a janela de Desassembly.

Janela de Comando do Depurador

Você pode visualizar o código do assembly inserindo um dos comandos u, ub, uu (Unassemble) na janela de Comandos do Depurador.

Janela de Desassemblagem

Para abrir ou alternar para a janela Desassembly, escolha Desassembly no menu Ver. (Você também pode pressionar ALT+7 ou selecionar o botão Desmontagem na barra de ferramentas. ALT+SHIFT+7 fechará a janela de desmontagem.)

A seguinte captura de ecrã mostra um exemplo de uma janela de Desmontagem.

Captura de ecrã da janela Desmontagem no WinDbg.

O depurador pega uma seção de memória, interpreta-a como instruções binárias da máquina e, em seguida, desmonta-a para produzir uma versão em linguagem de montagem das instruções da máquina. O código resultante é exibido na janela Desmontagem.

Na janela Desmontagem, você pode fazer o seguinte:

  • Para desmontar uma seção diferente da memória, na caixa Deslocamento , digite o endereço da memória que deseja desmontar. (Você pode pressionar ENTER depois de digitar o endereço, mas não é necessário.) A janela Desmontagem exibe o código antes de ter completado o endereço; Você pode ignorar este código.

  • Para ver outras secções da memória, selecione os botões Anterior ou Seguinte ou prima as teclas PAGE UP ou PAGE DOWN. Esses comandos exibem o código desmontado das seções anteriores ou seguintes da memória, respectivamente. Ao pressionar as teclas SETA PARA A DIREITA, SETA PARA A ESQUERDA, SETA PARA CIMA e SETA PARA BAIXO, pode navegar dentro da janela. Se você usar essas teclas para sair da página, uma nova página aparecerá.

A janela Desmontagem tem uma barra de ferramentas que contém dois botões e 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 que aparece perto do canto superior direito da janela. A lista a seguir descreve alguns dos comandos de menu.

  • Ir para o endereço atual abre a janela Origem com o arquivo de origem que corresponde à linha selecionada na janela Desmontagem e destaca essa linha.

  • Desmontar antes da instrução atual faz com que a linha atual seja colocada no meio da janela Desmontagem. Este comando é a opção padrão. Se este comando for desativado, a linha atual aparecerá na parte superior da janela de Desmontagem, o que economiza tempo, pois a desmontagem reversa pode ser demorada.

  • Realçar instruções da linha de origem atual faz com que todas as instruções que correspondem à linha de origem atual sejam realçadas. Muitas vezes, uma única linha de origem corresponderá a várias instruções de montagem. Se o código tiver sido otimizado, essas instruções de montagem podem não ser consecutivas. Este comando permite que você encontre todas as instruções que foram montadas a partir da linha de origem atual.

  • Mostrar linha de origem para cada instrução exibe o número da linha de origem que corresponde a cada instrução de montagem.

  • Mostrar arquivo de origem para cada instrução exibe o nome do arquivo de origem que corresponde a cada instrução de assembly.

Ver também

Para obter mais informações sobre depuração de assembly e comandos relacionados e uma explicação completa da exibição de assembly, consulte Debugging in Assembly Mode.