? Depuração de um programa essencialmente significa encontrar os erros e corrigi-los. Um "bug" é um pequeno erro no código que pode escapar aviso por causa de uma variedade de fatores. Porque os programas de computador tornaram-se tão complexo , mesmo o menor erro pode causar grandes problemas para baixo da linha . Depuração de um programa em C envolve o uso de um depurador para ajudar a identificar erros . No entanto, um depurador não é um substituto para um programador que sabe como procurar e interceptar erros . Verificando saída
programas menores , um programador pode provavelmente verificar certas saídas para determinar se o estado do programa permanece correta ao longo da execução . Neste caso , a inserção de instruções de impressão em um programa para mostrar as variáveis que normalmente não são visíveis para o usuário pode garantir um programa funciona - ou até que ponto ele funciona antes de cair :
int i = 0;
intj ;
j = someFunction (i ) //faz algum trabalho em i e retorna um valor
printf (" % d" , j ) //j para impressão garantir j é um valor legítimo
C depuradores
Dependendo do ambiente de desenvolvimento, um programador deve ter depuração software disponível para aplicar a qualquer código. Estes programas de " atravessar " um programa como ele é executado , mantendo o controle de variáveis e condições até que ocorra um erro. Quando o erro ocorre, o depurador irá retornar informações sobre o erro. Além disso, muitos depuradores permitem que os programadores " percorrer " código uma linha de cada vez, para que o programador possa examinar a execução do código. Para sistemas Linux , o GNU Project Debugger ( GDB) possuem essa funcionalidade ( gnu.org /s /gdb ), enquanto os programadores do Windows pode usar o depurador incluídos no Visual Studio ( Microsoft.com /express ) .
< Br >
depuradores e pontos de interrupção
depuração software usa a idéia de " breakpoints ", onde um programador pode parar um programa de meados de execução durante a depuração para determinar o estado de código. Por exemplo, se o código abaixo acidentes em algum momento , o programador pode não saber onde ou quando o erro ocorreu
int i , j; .
I = getNumber ();
j = j + i;
j = modificar (i, j) ;
poderia ter ocorrido em função getNumber , a função de modificar, ou em algum lugar no início do programa principal . Um ponto de interrupção pode definir um lugar onde o código é interrompida antes do erro , de modo que o programador pode avaliar as condições antes de ocorrer o erro.
Percorrendo o código
Complexo depuração pode envolver indo linha por linha através de código. Uma vez que o programador identifica uma possível localização do erro , ele pode executar a linha de código do programa por linha, mantendo o controle do estado do programa até que ocorra um erro. Isso permite que o programador para identificar a localização exata do programa, e voltar atrás para ver onde as condições do erro originou. Neste exemplo,
i = getNumber ();
j = j + i;
j = modificar (i, j) ;
se o erro acontece na função de " modificar " , em seguida, o programador pode voltar atrás , e ela vai descobrir que "i" recebeu um valor ruim em " getNumber " e, assim, corrompido " modificar ".
< br >