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". Consult. 13 de setembro de 2011. 
  2. "Debug". Microsoft Technet. Consult. 13 de setembro de 2011. 
Ícone de esboço Este artigo sobre Software é um esboço. Você pode ajudar a Wikipédia expandindo-o.