Сначала вы устанавливаете часы для данной переменной:
(gdb) watch i
Теперь в списке точек останова вы увидите часы. Например.:
(gdb) info breakpoints
Num Type Disp Enb Address What
1 hw watchpoint keep y i
На этом этапе вы можете определить команду точки останова, которая будет выполняться в любой точке останова или точке наблюдения. В вашем случае вы просто хотите выполнить «backtrace» и «c». Чтобы определить это, введите commands 1
, а затем список команд, которые будут выполняться при каждом попадании в точку наблюдения. Например.:
(gdb) commands 1
Type commands for breakpoint(s) 1, one per line.
End with a line saying just "end".
>backtrace
>c
>end
«1» после «commands» относится к номеру точки наблюдения, который вы можете увидеть в выводе «info breakpoints».
Добавьте команды для точки наблюдения, содержащие
continue
.