Pesquisar no blog:

quarta-feira, 13 de março de 2013

Depuração (Debugger) no Code::Blocks

Depuração é uma ferramenta disponibilizada pela maioria das IDEs para facilitar o teste de um código fonte.
Com ele você pode executar seu programa "passo-a-passo" e observar o fluxo dos seus dados dentro das estruturas if/else, switch/case, a quantidade de vezes que se está executando um  laço de repetição (for, while, do/while), verificar o valor das variáveis, acompanhar funções, etc.
Dessa forma você consegue descobrir erros lógicos. Pequenos detalhes que podem fazer seus programas não funcionar como deveria.
A depuração é de extrema importância para qualquer programador, até mesmo para os iniciantes, já que acompanhar o código linha-a-linha e fazendo seus cálculos e comparações lógicas no "dedo", em um papel ou com sua própria memória seria muito mais difícil.

Como utilizar a depuração no Code::Blocks

A depuração no Code::Blocks é bem simples de se usar. A unica coisa que você deve fazer é salvar o seus código fonte como um projeto. Apenas dessa forma você pode depurar seu programa.
Então se você já tem algum código fonte você deverá copia-lo para um arquivo que faça parte de um projeto.

IMPORTANTE: Ao criar o projeto desative a opção "Release" no assistente de novo projeto.
IMPORTANTE: O arquivo com a função principal deve se chamar "main.c" ou a depuração não funcionará!
#define TAM 10
int main(int argc, char *argv[])
{
    int i, j, aux, troca, v[TAM] = {7,0,5,1,4,2,6,3,-8,-1};
    for(i = 0; i < TAM; i++)
    {
          troca = 0;
          for(j = 0; j < (TAM-1)-i; j++)
          {
                if(v[j] > v[j+1])
                {
                    aux = v[j];
                    v[j] = v[j+1];
                    v[j+1] = aux;
                    troca = 1;
                }
          }
          if(troca == 0)
             break;
    }
    printf("\n\nOrdenado: \n");
    for(i = 0; i < TAM; i++)
    {
         printf("%d, ", v[i]);
    }
    system("pause");
    return 0;
}
Este código é uma das soluções propostas para ordenação de valores. Sendo este o mais simples de todas as soluções propostas (Bubble Sort).
Para que a depuração pare em determinados pontos você pode utilizar os breakpoints clicando na barra cinza ao lado do código fonte próximo aos números das linhas:






Para iniciar a depuração no Code::Blocks você pode utilizar a opção Debug/Start ou o atalho F8.

Observe que ao iniciar a depuração é feita uma seta amarela na linha onde o programa esta parado:


Você pode controlar a depuração através de opções oferecidas pela IDE:
Stop debugger: Para a execução do programa.
Continue: executa até o próximo breakpoint.
Next Line: executa a próxima linha.
Step into: entrar em uma função.
Step out: sair de uma função.
Start: Iniciar.
Debugging windows: Você pode acessar a opção "Debugging windows" através do meneu Debug ou pela barra de ferramentas:

Através dela você tem acesso a algumas janelas que auxiliam na visualização de Breakpoints (pontos de paradas), CPU Registers (Registradores do processador), Watcher (valores das variáveis), etc.

Nenhum comentário:

Postar um comentário