[STM32F4] SWV 跟踪日志最长可运行多久?

[复制链接]
151|12
SocialButterfly 发表于 2026-2-18 14:09 | 显示全部楼层 |阅读模式


我在调试 STM32F413CHUx ,目的是定位独立看门狗复位的原因。为辅助调试,我开启了SWV Trace Log启用 PC 采样功能,采样周期设置为约 16000 个时钟周期。
我已将trace buffer大小增大至 2 亿字节,让调试程序通宵运行。
我要查找的故障通常需要 5-8 小时才会触发,有时甚至更久。但实际运行约 1-2 小时后,IDE 就会失去响应并卡死。
有没有办法让仅启用 PC 采样的 SWV 跟踪日志稳定运行 8 小时甚至更久?并非需要捕获完整的 8 小时数据,只需记录复位发生前的最新数据即可。

cr315 发表于 2026-2-19 15:45 | 显示全部楼层
可能是SWV Trace Buffer 过大 + 持续采样导致 IDE 崩溃。
duo点 发表于 2026-2-19 16:46 | 显示全部楼层
缩小缓冲区并增大采样周期。
flycamelaaa 发表于 2026-2-19 18:47 | 显示全部楼层
可以用 ITM 触发 + 硬件断点 捕获关键数据。
jcky001 发表于 2026-2-19 19:47 | 显示全部楼层
2 亿字节的 Trace Buffer 会占用大量 RAM,导致 IDE 或调试器内存不足。
onlycook 发表于 2026-2-19 19:48 | 显示全部楼层
SWD/JTAG 带宽有限,持续高速采样会导致数据堆积,调试器无法及时处理。
powerantone 发表于 2026-2-19 21:48 | 显示全部楼层
长时间运行后,IDE可能因内存泄漏或调试器驱动问题崩溃。
yiyigirl2014 发表于 2026-2-24 14:04 | 显示全部楼层
SWV(Serial Wire Viewer)跟踪日志没有固定的最长运行时间上限,其持续时长主要受调试工具、存储容量、带宽与配置三大因素共同决定。
玛尼玛尼哄 发表于 2026-2-27 16:49 | 显示全部楼层
SWV(Serial Wire Viewer)跟踪日志没有固定的最长运行时长上限,实际可运行时间取决于调试工具、缓存 / 存储、带宽与数据量三大核心因素
21mengnan 发表于 2026-6-10 14:47 | 显示全部楼层
SWV(Serial Wire Viewer)本身芯片内核、ITM/DWT 模块没有固定最长运行时间限制
xlhmx 发表于 2026-6-10 15:03 | 显示全部楼层
循环 Buffer + 降低采样率 + 只开 PC 采样 + 减小合理 Buffer = 稳定超长时调试。
Jacquetry 发表于 2026-6-10 18:28 | 显示全部楼层
试试降低采样率,使用循环Buffer,仅开启PC采样,减小Buffer大小,这样应该可以稳定运行更长时间。
舒伯特玫瑰 发表于 2026-6-12 11:10 | 显示全部楼层
有可能SWV 持续流式上传,IDE 端内存 / 缓存溢出
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

189

帖子

0

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