O GDB (GNU project debugger), permite analisar o que está acontecendo dentro de outro programa enquanto ele está em execução, ou ver o que este estava fazendo no momento em que apresentou algum erro. Normalmente é utilizado por meio de ferramentas gráficas em algumas IDEs, mas pode ser usado em linha de comando também. Abaixo são mostrados alguns dos comando básicos para manipular a ferramenta.
Adicione o parâmetro -g nas flags do makefile, ou no comando para compilar
$ gcc -g meu_programa
Caso queira marcar o ponto de parada
(gdb) break main
ou
(gdb) break 10 #para na linha 10
Para mostrar o trecho de código do ponto de parada
(gdb) list
Se o programa recebe argumentos de entrada faça
(gdb) run arg1 arg2 #dois argumentos
Ou se o programa recebe um arquivo da entrada padrão ‘stdin’
(gdb) run < entrada.txt
Para ver a próxima instrução a ser executada
(gdb) next
Agora só repetir o ‘next’ até que encontrar um trecho desejado.
Para imprimir na tela o conteúdo de qualquer variável, digite
(gdb) print nome_da_variavel