gdb commands can be used to execute gdb commands after a breakpoint occurred.
Take this as example .
#include <stdio.h>
int func(int a, int b, int c) {
return a + b - c;
}
int main(int argc, char *argv[]){
int i = 0;
for (; i < 100; i++){
func(i, i++, 1);
}
return 0;
}
we want to break func when a > 10 and checkout variable c
(gdb) break func if a > 10
Breakpoint 1 at 0x80483f0: file test-me.c, line 4.
(gdb) commands
Type commands for breakpoint(s) 1, one per line.
End with a line saying just "end".
>print a
>end
(gdb) r
Starting program: /home/alloc/test/a.out
Breakpoint 1, func (a=11, b=10, c=1) at test-me.c:4
4 return a + b - c;
$1 = 11
(gdb) quit