2012-05-16 9 views
4

У меня есть gdb 7.3 и устройство, которое поддерживает аппаратные точки наблюдения.Доступны ли аппаратные точки наблюдения только для определенных адресов памяти?

типа I такие последовательные команды:

Breakpoint 1, 0x000db808 in ??() 
(gdb) info break  
Num  Type   Disp Enb Address What 
1  breakpoint  keep y 0x000db808 
    breakpoint already hit 1 time 
(gdb) watch *0x15588a 
Watchpoint 2: *0x15588a 
(gdb) watch *0x1557f8 
Hardware watchpoint 3: *0x1557f8 
(gdb) info break 
Num  Type   Disp Enb Address What 
1  breakpoint  keep y 0x000db808 
    breakpoint already hit 1 time 
2  watchpoint  keep y    *0x15588a 
3  hw watchpoint keep y    *0x1557f8 
(gdb) 

Почему не аппаратная точка наблюдения принимается после первой команды? Что не так?

ответ

4

Почему аппаратная точка наблюдения не была принята после первой команды?

Вы не сказали никому, что процессор вы используете.

Я предполагаю, что ваш процессор не поддерживает аппаратные точки наблюдения для адресов, которые не выровнены по 4-байтовой границе.

GDB не может установить сторожевую точку оборудования на адрес, если ваше оборудование не поддерживает такие точки наблюдения.

+0

Да, вы совершенно правы. Мой ARMv7-процессор поддерживает аппаратные точки наблюдения только для адресов, выровненных по 4-байтовой границе. Большое спасибо! –