Gosto de fazer o GDB definir um ponto de interrupção quando uma variável é igual a algum valor que defini, tentei este exemplo:
#include <stdio.h>
main()
{
int i = 0;
for(i=0;i<7;++i)
printf("%d\n", i);
return 0;
}
Saída do GDB:
(gdb) break if ((int)i == 5)
No default breakpoint address now.
(gdb) run
Starting program: /home/SIFE/run
0
1
2
3
4
5
6
Program exited normally.
(gdb)
Como você vê, o GDB não fez nenhum ponto de interrupção, isso é possível com o GDB?
(gdb) watch i No symbol "i" in current context.