Mi piace fare in modo che GDB imposti un punto di interruzione quando una variabile è uguale a un valore che ho impostato, ho provato questo esempio:
#include <stdio.h>
main()
{
int i = 0;
for(i=0;i<7;++i)
printf("%d\n", i);
return 0;
}
Uscita da 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)
Come vedi, GDB non ha creato alcun punto di rottura, è possibile con GDB?
(gdb) watch i No symbol "i" in current context.