Partilhar via


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

No WinDbg, você pode exibir o código do assembly inserindo comandos ou usando a janela Desmontagem.

Janela Comando do Depurador

Você pode exibir o código do assembly inserindo um dos comandos u, ub, uu (Desmontar) na janela Comando do Depurador.

Janela Desmontagem

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

A captura de tela a seguir mostra um exemplo de uma janela Desmontagem.

Captura de tela da janela Desmontagem no WinDbg.

O depurador pega uma seção de memória, interpreta-a como instruções binárias do computador e, em seguida, desmonta-a para gerar uma versão em linguagem assembly das instruções do computador. 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 você 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 você preencher o endereço. Você pode desconsiderar esse código.

  • Para ver outras seções da memória, selecione os botões Anterior ou Próximo ou pressione 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, você pode navegar na janela. Se você usar essas teclas para sair da página, uma nova página será exibida.

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 próximo ao 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 realça essa linha.

  • Desmontar antes da instrução atual faz com que a linha atual seja inserida no meio da janela Desmontagem. Esse comando é a opção padrão. Se esse comando for apagado, a linha atual aparecerá na parte superior da janela Desmontagem, o que economiza tempo porque a desmontagem em direção inversa poderá 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 assembly. Se o código tiver sido otimizado, essas instruções de assembly poderão não ser consecutivas. Esse comando permite localizar 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 assembly.

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

Confira também

Para obter mais informações sobre a depuração via assembly e os comandos relacionados e uma explicação completa da exibição do assembly, confira Como fazer a depuração no modo Assembly.