Pesquisar no blog:

sexta-feira, 8 de março de 2013

Depuração (Debugger) no Dev-C++

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 programa não funcionar como deveria.
A depuração é de extrema importância para qualquer programador, e mesmo para os iniciantes já se há esse habito de depuração desde o inicio, acompanhando o código linha-a-linha e fazendo seus cálculos e comparações lógicas no dedo, ou em um papel ou com sua própria memória.

Como utilizar a depuração no Dev-C++

Antes de usar a depuração no Dev-C++ devemos configurar algumas coisas. Siga esses passos:
1- Abra o Dev-C++ e acesse Tools/Compiler Options
2- Ative a opção "Add the following commands when calling compiler" e digite o argumento -O0
3- Ative a Guia Settings opção Linker e marque para Yes a opção "Generate debugging information"
Obs.: antes de depurar seu programa é necessário que ele seja compilado.

Vou usar como exemplo o seguinte código fonte:
int main()
{
int n1,n2,n3,i,r;
n1 = 1;
n2 = 1;
for (i = 0; i < 20; i++)
{
  if (i < 2)
   printf("%d ",n1);
  else
            {
   n3 = n1 + n2;
   n1 = n2;
   n2 = n3; 
   printf("%d ",n3);
            }
}
getch();
return (0);
}
Este código é uma solução minha proposta para o problema de Fibonacci. Para saber mais sobre Fibonacci acesse este artigo do tecmundo de Wikerson Landim, muito interessante!
De forma resumida é: cada elemento, a partir do terceiro é obtido somando-se os dois anteriores.
Para que a depuração pare em determinados pontos você pode utilizar os breakpoints clicando na barra preta ao lado do código fonte:

Para iniciar a depuração no Dev-C++ você pode utilizar a opção Debug/Debug ou o atalho F8.
Você pode ainda controlar a depuração através de opções oferecidas pela IDE:
Next Step: executa a próxima instrução.
Step into: entrar em uma função.
Continue: executa até o próximo breakpoint.
Run to Cursor: executa até onde o cursor estiver posicionado.
Debug: Iniciar/Parar Depuração
Stop Execution: Para a execução do programa.
Add Watch: adiciona em um painel a esquerda do código as variáveis que você deseja visualizar o valor. Para adicionar você só precisar digitar seu nome. 
Exemplo:

Painel com valores das variáveis:
Observe que enquanto você executa a depuração seu programa fica em execução, e todo seu conteúdo aparece de acordo com os passos que são executados.
É importante que você acompanhe os valores das variáveis e o fluxo dos dados para verificar se não existem erros de lógica no seu programa.
Você pode trocar o valor de uma variável enquanto seu programa roda para testar seu funcionamento clicando com o botão direito sobre ela:

Veja também como depurar seu código em linguagem C com o Code::Blocks.

Nenhum comentário:

Postar um comentário