[STM32F3] 程序随机暂停,并且在handle_vCont_t(线程已停止)后拒绝运行。

[复制链接]
358|9
WHALEE 发表于 2025-10-26 21:47 | 显示全部楼层 |阅读模式
我将项目迁移到了STM32CubeIDE,在调试方面也存在一个问题。

假设我在某一行(比如第150行左右)设置了一个调试断点。

我认为我已经删除了它,但之后如果我运行调试器,程序会运行,但会持续在第150行停止。

我可以验证这一点,因为我可以暂停程序并看到它卡在那里。

然后它会显示“handle_vCont_t,线程已停止”。

此时程序将无法运行,无论我使用“继续”、“步入”还是“步过”。

唯一的解决方法是在这一行之前设置一个断点,并通过“步过”手动跳过这一行(指令)。

我已经试了一些方法,从使用不同的ST-LINK(V2和V3之间切换),重启STM32CubeIDE,到执行“全部清理”,再到创建并使用新的调试配置。

似乎仍然存在一个异常的断点。



classroom 发表于 2025-10-27 15:13 | 显示全部楼层
STM32CubeIDE可能未完全清除已删除的断点信息,导致调试器仍尝试在已删除的断点位置暂停。
调试会话结束时未正确释放资源,残留的断点状态被下次调试继承。
cr315 发表于 2025-10-27 16:13 | 显示全部楼层
硬件调试接口冲突?
cr315 发表于 2025-10-27 16:14 | 显示全部楼层
STM32CubeIDE默认可能设置了跳过所有断点,导致即使删除了断点,程序仍会在原断点位置停止。
duo点 发表于 2025-10-27 18:15 | 显示全部楼层
删除未使用的断点,在关键代码区域保留≤4个断点,
elephant00 发表于 2025-10-27 15:16 | 显示全部楼层
可能是调试器配置错误
flycamelaaa 发表于 2025-10-27 19:17 | 显示全部楼层
更新ST-Link的固件和STM32CubeIDE到最新版本。
powerantone 发表于 2025-10-27 20:17 | 显示全部楼层
代码优化级别过高?
stormwind123 发表于 2025-10-27 21:18 | 显示全部楼层
仿真器连接是否稳定?
wanduzi 发表于 2025-10-28 09:34 | 显示全部楼层
可能设置了跳过所有断点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

61

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部