Debug (comando)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Debug-comand.png

Debug (debug.exe) é um comando que foi criado no início dos anos 1980 e acompanhava sistemas operacionais DOS[1] (MS-DOS, PC-DOS, OS/2). O comando continuou a ser incorporado em diversas interfaces e sistemas operacionais posteriores como o Windows 3.1, Windows 95, Windows 98, Windows NT, Windows XP, Windows Vista 32 bits, Windows 7 32 bits, poderia ser acessado pelo shell (command.com ou cmd), porém foi removido do Microsoft Windows Vista, windows 7 de 64 bits e windows 8 de 32 e 64 bits .

Nos sistemas Microsoft Windows ele usualmente era encontrado na pasta %windows%\system32.

O comando é tido como especialmente útil para interpretar e monitorar o funcionamento de programas executáveis, bem como encontrar possíveis erros operacionais. Com ele é possível abrir apenas programas .COM (até 64K de memória), além de fazer leitura de disco pelo processo de interrupção da BIOS e interrupção do MS-DOS (que o Windows emulava em modo shell) para examinar o FAT (File Allocation Table) e Boot (setor de inicialização do sistema), sendo possível investigar sua aparência em Assembly (baixo nível).

Além exibir a aparência em assembly de praticamente qualquer executável, ele também exibia em formato hexadecimal do arquivo utilizando-se a sintaxe: debug nome_do_executável.

Sintaxe[editar | editar código-fonte]

debug [[Drive:][Path] arquivo [parameters]]

[2]

Exemplo:
c:\> debug programa.com

Montador Assembly[editar | editar código-fonte]

Além de ser um disassembly, o debug tambem monta programas escrevendo diretamente ou em códigos hexa, porém, sendo desenvolvido para arquitetura x86 e ainda na década de 80, ele não entende os modernos mnemônicos que a intel introduziu, nem o recurso MMX de manipulação gráfica da intel.

Uma montagem de programa para ler o BOOT do disquete:

c:\> debug
-a  
0B6E:0100 mov ax,0201
0B6E:0103 mov bx,200
0B6E:0106 mov dx,0
0B6E:0109 mov cx,1
0B6E:010C int 13
0B6E:010E int 20
0B6E:0110 
-g=100


Funções Básicas[editar | editar código-fonte]

Após rodar o comando Debug, estão disponíveis as seguintes funções (principais)

"A" a 100 (Começar a escrever Assembly a partir do endereço 100h)

"D" D 100 ( Exibir em formato Hexa, a partir do endereço 100h )

"U" U 100 (Exibir em imagem Disassembly a partir do endereço 100h )

"RCX" rcx 20 (reservar 20 bytes hexa para o programa mencionado em "N")

"N" N arquivo.com ( considerar o nome arquivo.com quando for selecionado gravacao em disco através do recurso "W")

"W" W ( gravar conteúdo reservado a partir de 100h com a quantidade definida em "RCX" utilizando o nome mencionado em "N")

"G" G=120 (executar o programa a partir do endereço hexa 120h )

"Q" Q ( sair do Debug )

Referências

  1. Daniel B. Sedory. A Guide to DEBUG. Página visitada em 13 de setembro de 2011.
  2. Debug Microsoft Technet. Página visitada em 13 de setembro de 2011.
Ícone de esboço Este artigo sobre Software é um esboço. Você pode ajudar a Wikipédia expandindo-o.