我正在运行带有 Atollic Truestudio 7.0.1(基于 Eclipse)的 STM32L151 微 Controller 。通过 GDB 使用 ST-Link/V2 调试器连接到 MCU。
最近,尽管我没有更改项目配置中的任何内容,但我注意到调试器存在问题。当执行在断点处暂停时,我可以检查变量,但目标显然仍在运行,即使 IDE 指示调试器“已暂停”。这使得单步调试变得不可能,因为程序计数器只是跳转到当前所在的位置,而不是下一行代码。
看起来目标实际上可能在命中断点后几秒钟重置。
关于导致此问题的原因以及我可能如何解决它的任何想法?
最佳答案
It looks like the target might actually be resetting a few seconds after the breakpoint is hit.
那么它可能是核心停止时仍在运行的看门狗之一。只要调试器用
停止核心,您就可以让它们停止DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_WWDG_STOP
或
DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_IWDG_STOP
以适当的为准。
关于c - STM32调试器遇到断点后继续运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43933850/