用途:诊断嵌入式固件运行时问题,包括堆/栈耗尽、内存泄漏、碎片、覆盖写、阻塞、饥饿、截止时间错过、抖动、死锁与队列过载。
主要能力:先读取共享嵌入式契约,将源码/构建、设备与物理证据分开保存。保留失败构建、工作负载、分配/时序跟踪、复位原因与复现步骤。在调整任务优先级或堆大小前,先判断故障属于耗尽、碎片、覆盖、阻塞、饥饿还是测量失真。
采集证据:最小空闲堆、支持时的最大空闲块、按移植单位记录的栈高水位、队列深度/丢弃数、带时间戳的任务/状态事件。仅看空闲堆总量不能证明某次分配能成功。需检查分配器与能力池;PSRAM 与内部 DMA 可用内存不可互相替代。
抖动分析:区分释放间隔、执行时长、阻塞时长、数据年龄与中断延迟。对比开启/关闭跟踪的开销;调试器单步与同步日志会破坏原始时序。记录时钟基准、回绕与丢失采样。检查锁的持有者/顺序与优先级继承;不要用自旋循环掩盖死锁。
配合使用:用 realtime-control-design 修订所有权/截止时间预算,用 freertos-patterns 选择 FreeRTOS 原语,用对应平台技能处理 Zephyr/SDK/MicroPython 语义。交付可证伪假设与有界的前后测量,而非 CPU 利用率口号。
限制:平台覆盖范围以实际测试组合为准;源码流程不代表所有目标均已测试。