Depuradores (Debbugers)

Propaganda
Depuradores (Debbugers)
Um depurador é um programa de computador usado para testar
outros programas e fazer sua depuração, que consiste em
encontrar os defeitos do programa. Erros de software incluem
aqueles que previnem o programa de ser executado e aqueles que
produzem um resultado inesperado.
A necessidade de entender a depuração auxilia na compreensão
da seqüência do algoritmo e na investigação dos valores
obtidos (nem sempre corretos). De fato, a depuração é
necessário somente quando há erro ou dúvida nos tópicos
mencionados. Logo que normalizada a situação, é desnecessário
depurar. Assim, é prático estabelecer que pontos se deseja
observar durante o processamento do algoritmo.
Quando o programa aborta, o depurador mostra a posição
no código fonte original, se for um depurador de código fonte,
ou um depurador simbólico. Caso seja um depurador de linguagem
de máquina, ele mostra a linha onde ocorreu o problema através
de desmontagem. Um programa é abortado quando ele usa uma
instrução não disponível (inválida) na CPU, quando tenta
acessar memória inexistente ou não disponível para ele,
bloqueada pelo mecanismo de proteção. Ou seja: quando tenta
acessar, devido a defeito ou não, recursos indisponíveis para
ele.
Depuradores são ferramentas que permitem ao programador
monitorar a execução de um programa, pará-lo e reiniciá-lo,
ativar pontos de parada, alterar áreas de memória e, em alguns
casos, voltar no tempo.
De forma geral, linguagens de alto nível tornam a depuração
mais fácil, pois fornecem mais ferramentas para identificar
erros, como o tratamento de exceções. Em linguagens de baixo
nível, erros de código podem causar problemas difíceis de
serem identificados, como corrupção de memória. Nesse
caso, depuradores de memória podem ser necessários.
Para certos tipos de problema existem ferramentas de análise
do código fonte, que buscam por erros específicos no código, o
que depende da linguagem de programação em uso. Enquanto
um compilador se preocupa com a sintaxe do código fonte, tais
ferramentas de análise focam a semântica. Um problema
geralmente identificável através do código fonte é o uso
duma variável antes da primeira atribuição.
Para a depuração de hardware, assim como software de baixo
nível (como BIOS, firmware e drivers de dispositivo)
instrumentos
como
osciloscópios,
analisadores
lógicos eemuladores são frequentemente usados.
O OllyDbg é um debugador com o qual podemos acompanhar passo a
passo a execução de programas. Além possuir um desassemblador
poderoso que nos mostra todas as linhas de comando, podemos
observar o conteúdo dos registradores e de posições da
memória.
Quem tiver interesse em se aprofundar no assunto, pode
pesquisar no Google sobre “Engenharia Reversa” e outros
tutoriais com o OllyDbg.
Existem outros software que fazem a mesma coisa, mas cometei
sobre o OllyDbg por ser grátis para usar e bem conhecido.
Fontes:
– http://pt.wikipedia.org/wiki/Depurador
– http://pt.wikipedia.org/wiki/Depuração
– http://muitomaisfacil.blogspot.com.br/2008/04/olly-debuggero-melhor.html
– http://www2.joinville.udesc.br/~dcc2efcm/prd-mec/depurarFort
ran/depurar.htm
Download