Вы знаете какие-либо другие причины, почему контрольная точка не могла быть вставлена кроме слишком многих аппаратных точек останова/контрольных точек?
У меня есть следующий сеанс отладки:
GNU gdb (GDB) 7.1
...
(gdb) watch itrap_t_beg[1][222]
Hardware watchpoint 1: itrap_t_beg[1][222]
(gdb) cont
Continuing.
...
Hardware watchpoint 1: itrap_t_beg[1][222]
...
(gdb) cont
Continuing.
Warning:
Could not insert hardware watchpoint 1.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.
(gdb) info break
Num Type Disp Enb Address What
1 hw watchpoint keep y itrap_t_beg[1][222]
breakpoint already hit 1 time
Как Вы видите, существует только одна контрольная точка все же, она не может вставить точку останова.
Вы знаете, как я могу зафиксировать это?
Насколько я знаю, стандартные процессоры x86 имеют четыре отладочных регистров , доступных для поддержки аппаратных сбоев / отслеживания. . Это ограничивает размер объекта, который вы можете наблюдать. Здесь также играет роль выравнивание объектов.
Попробуйте ограничить область наблюдения меньшим объектом, например парой первого и последнего членов структуры.