-g: $ gcc -g -o programa programa.c-g indica ao compilador para incluir no executável informação extra para o GDBgdb sobre o ficheiro executável compilado: $ gdb programa ...
(gdb) quit termina a sessão
Ctrl-D (end-of-file)q em vez de quit) $ gcc -o factorial factorial.c
$ ./factorial
Introduza um inteiro positivo:4
Factorial 4 = 0#include <stdio.h>
int main(void) {
int n, i, fact;
printf("Introduza um inteiro positivo:");
scanf("%d", &n);
for(i = 1; i<=n; i++)
fact = fact*i;
printf("Factorial %d = %d\n", n, fact);
}Recompilar o programa com opção debugging:
$ gcc -g -o factorial factorial.cExecutar o GDB com o executável compilado:
$ gdb factorialUsamos o comando run para correr o nosso programa dentro do GDB:
(gdb) run
Starting program...
Introduza um inteiro positivo:4
Factorial 4 = 0
[Inferior 1 (process 9885) exited...
break funparar a execução no início da função fun
break nparar a execução no início linha número n
Podemos usar list para listar o programa juntamente com números de linhas.
print var
print exprmostrar o valor de uma variável ou expressão
display var
display exprmostrar o valor de uma variável ou expressão em cada breakpoint
Vamos usar:
break para colocar um breakpoint no ciclo for;display para mostrar os valores de n, i, e fact.fact é incorreto
int n, i, fact = 1; // corrigidobreak fundefinir breakpoint no ínicio da função fun
break ndefinir breakpoint no ínicio da linha n
delete nremover o breakpoint número n
runexecutar o programa desde o início
nextexecutar a próxima linha
stepexecutar a próxima linha (mas entra dentro de funções)
continuecontinuar a execução até ao próximo breakpont (ou até ao final)
print exprcalcular e mostrar o valor duma expressão
display exprmostrar o valor da expressão sempre que parar
set var nome = exprmodificar o valor de uma variável
quitterminar a sessão