Я отлаживаю удаленную цель, и кажется, что программные точки останова не работают, однако точки останова на оборудовании работают.

Я хочу иметь возможность использовать команду stepi, но, похоже, gdb настаивает на использовании программных точек останова.

Есть ли способ заставить GDB использовать аппаратные точки останова для stepi?

Целью является чип ARM STM32, отлаженный с помощью зондирования Blackmagic.

gdb
2
Octetz 10 Ноя 2020 в 01:47

1 ответ

Лучший ответ

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

Т.е. если мой код работает на адресах 0x8000000-0x8010000, я запускаю

mem 0x8000000 0x8010000 ro
1
Octetz 10 Ноя 2020 в 07:43