gdb останавливается со слишком многими контрольными точками, когда существует только один

Вы знаете какие-либо другие причины, почему контрольная точка не могла быть вставлена кроме слишком многих аппаратных точек останова/контрольных точек?

У меня есть следующий сеанс отладки:

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

Как Вы видите, существует только одна контрольная точка все же, она не может вставить точку останова.

Вы знаете, как я могу зафиксировать это?

16
задан Gaston 8 July 2010 в 17:32
поделиться

1 ответ

Насколько я знаю, стандартные процессоры x86 имеют четыре отладочных регистров , доступных для поддержки аппаратных сбоев / отслеживания. . Это ограничивает размер объекта, который вы можете наблюдать. Здесь также играет роль выравнивание объектов.

Попробуйте ограничить область наблюдения меньшим объектом, например парой первого и последнего членов структуры.

12
ответ дан 30 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: