FreeRTOS任务卡死如何定位? 问题热度:⭐️⭐️⭐️⭐️ (单日讨论量 700+) 诊断流程图图表
代码
下载
栈溢出
正常
是
否
任务卡死
查看uxHighWaterMark
增大stack大小
检查任务状态
阻塞在semaphore?
检查give调用链
死循环检测
高级调试技巧: 钩子函数定位: c
复制
下载
void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName) { printf("!!! %s stack overflow !!!", pcTaskName);}
Keil Event Recorder: c
复制
下载
EventRecorderInitialize(0, 1); // 启用任务调度记录
|