我可以强制 gdb 使用硬件断点吗?

Can I force gdb to step using hardware breakpoints?

我正在调试远程目标,软件断点似乎不起作用,但硬件断点有效。

我希望能够使用 stepi 命令 - 但 gdb 似乎坚持使用软件断点。

有没有办法强制gdb对stepi使用硬件断点?

目标是通过blackmagic probe调试的ARM STM32芯片

一种解决方案是将内存区域标记为只读,这会强制 gdb 使用硬件断点

即如果我的代码 运行ning 在地址 0x8000000-0x8010000 i 运行

mem 0x8000000 0x8010000 ro