Depurador

Depurador

Descrição da imagem Winpdb-1.3.6.png. Em formação
Modelo Tipo de software ( in )

Um depurador (Inglês depurador ) ou depurador (versão francesa bug) é software que ajuda um desenvolvedor analisar um programa erros . Para fazer isso, ele permite que você execute o programa passo a passo - ou seja, na maioria das vezes linha por linha -, para exibir o valor das variáveis a qualquer momento e para configurar pontos. Pare nas condições ou no programa linhas.

Esta é a aplicação para programação de computador do processo de solução de problemas .

usar

O programa a ser depurado é executado através do depurador e funciona normalmente. O depurador oferece então ao programador a possibilidade de observar e controlar a execução do programa, permitindo-lhe por vários meios observá-la, interrompê-la (para interromper a execução do programa) e alterá-la. Por exemplo, a pilha de execução e o conteúdo das variáveis ​​na memória podem ser observados, e o valor das variáveis ​​pode ser alterado para alterar o fluxo de controle do programa para, por exemplo, determinar a causa de uma falha.

Quando a execução do programa é interrompida, o depurador exibe a posição de execução atual no código-fonte original para depuração formal  (em) e depuração de nível de origem. O depurador de baixo nível ou de máquina mostra a linha desmontada .

Muitos depuradores permitem, além de observar o estado dos registros do processador e da memória, modificá-los antes de devolver o controle ao programa depurado. Eles podem então ser usados ​​para localizar certas proteções de software e desativá-las, levando ao design de um crack . Assim, alguns softwares, sabendo como funcionam os depuradores e querendo evitar tais modificações, implementam truques anti-depuração .

Técnicas

As ferramentas oferecidas pelos depuradores dependem essencialmente da linguagem de programação (usada para desenvolver o programa a ser depurado) para a qual foi projetada. No entanto, a grande maioria dos depuradores oferece ferramentas semelhantes.

Ferramentas para controlar a execução do programa

Ferramentas para observar o status do programa

Além disso, o depurador geralmente permite que você modifique o estado do programa, quando sua execução é interrompida:

Depuração remota, depuração cruzada

A depuração cruzada ou depuração cruzada serve para depurar um software remoto e geralmente para uma estação de desenvolvimento de arquitetura de destino diferente.

Kernel Debugger

A depuração de um kernel ou driver do sistema operacional requer ferramentas adaptadas a essa tarefa particularmente sensível. Em particular, essa depuração geralmente é feita remotamente por link serial (mas às vezes por Ethernet) porque o depurador assumindo o controle total do kernel, a máquina de destino torna-se inutilizável (congela completamente em cada ponto de interrupção).

Veja, por exemplo, o depurador kgdb embutido no kernel Linux .

Depuradores conhecidos

Bibliografia

Notas e referências

  1. (en) "  Manual do depurador Ladebug: Compaq Tru64 UNIX versão 5.1A ou superior  " em tru64unix.compaq.com ,Junho de 2001(acessado em 7 de dezembro de 2012 )
  2. (em) "  The Perl Debugger (s)  " em perl.org ,7 de dezembro de 2012(acessado em 7 de dezembro de 2012 )
  3. (em) "  HP WDB  " em www2.hp.com ,7 de dezembro de 2012(acessado em 7 de dezembro de 2012 )