在遇到断点后,STM32调试器继续运行

And*_*son 1 c eclipse embedded debugging stm32

我正在运行带有Atollic Truestudio 7.0.1(基于Eclipse)的STM32L151微控制器.通过GDB与ST-Link/V2调试器连接到MCU.

最近,我注意到调试器有问题,尽管我没有更改项目配置中的任何内容.当执行在断点处暂停时,我可以检查变量,但是即使IDE指示调试器是"已暂停",目标仍然显然仍在运行.这使得步骤调试变得不可能,因为程序计数器只是跳转到目前的任何位置而不是下一行代码.

看起来目标可能实际上在断点被击中几秒后重置.

关于什么可以导致这种情况以及如何修复它的任何想法?

ber*_*ing 7

看起来目标可能实际上在断点被击中几秒后重置.

然后它可能是核心停止时仍然运行的监视器之一.每当调试器暂停核心时,您都可以停止它们

DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_WWDG_STOP
Run Code Online (Sandbox Code Playgroud)

要么

DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_IWDG_STOP
Run Code Online (Sandbox Code Playgroud)

以适当的为准.