lvluoo 发表于 2025-7-15 03:49

单步调试中断时禁用中断

以前用IAR开发。现在换用STM32CubeIDE。测试中如果一个中断计时器在后台运行,没找到合适的单步调试程序的方法。有没有像IAR“单步执行时禁用中断”这样的选项

公羊子丹 发表于 2025-7-26 07:22

CubeIDE 里没有像 IAR 那样直接一键“单步时禁止中断”,挺麻烦的。

周半梅 发表于 2025-7-26 07:23

我一般用 Debug Configurations 里勾选 SWO 或者把中断优先级调高低,间接控制一下。

帛灿灿 发表于 2025-7-26 07:23

有时候直接在中断里加条件编译或者 Debug 标志,调试的时候跳过中断处理。

童雨竹 发表于 2025-7-26 07:24

楼主可以看下 Debugger 的 Options,有个 Suspend策略,能不能部分满足?

万图 发表于 2025-7-26 07:25

有人是把定时器在调试时直接停止,用 __disable_irq() 或者 NVIC Mask 也行。

Wordsworth 发表于 2025-7-26 07:26

CubeIDE 其实底层是 Eclipse,很多功能要自己写 Script 或者插件才能实现 IAR 那种方便。

Bblythe 发表于 2025-7-26 07:26

我调试实时性强的中断一般都用 Trace 或者 ITM 打点,单步确实不靠谱。

Pulitzer 发表于 2025-7-26 07:27

要不在 HAL_TIM_IRQHandler 里加断点,配合条件断点看看能不能稳住调试。

Uriah 发表于 2025-7-26 07:28

有些人干脆把 SysTick 也关掉,用纯外设跑,调试就不会乱跳中断了。

Clyde011 发表于 2025-7-26 07:29

楼主要是找到比较优雅的 CubeIDE 配法记得分享下,大家都能少踩坑!

小夏天的大西瓜 发表于 2025-7-27 23:12

CubeIDE还是需要进一步学习的
页: [1]
查看完整版本: 单步调试中断时禁用中断