c - STM32调试器遇到断点后继续运行

标签 c eclipse debugging embedded stm32

我正在运行带有 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/

相关文章:

java - 使用ANT从windows部署到unix(高效)

r - 如何在控制台窗口中离开 R browser() 模式?

c# - Windows 服务中的 Debug.WriteLine 到 OutputDebugString

c - 单元测试中的段错误

c - LinkedList 将字符串输入节点并打印列表?

eclipse - 右键单击时没有 "Convert to Maven"选项

java - 新建一个类不出现右键菜单eclipse

c - 使用 sleep 和 select 信号

c - nonblocking recv返回0怎么知道是哪种情况?

c - 为什么我使用 zlib deflate 在我的源文件上出现错误?