TWDT误触发本质是某个CPU核的IDLE任务长时间得不到调度,导致esp_task_wdt无法被喂狗。定位步骤:1) 在menuconfig中开启Task WDT并配置panic,复现时抓取backtrace,确认是哪个核触发;2) 用vTaskGetRunTimeStats()或esp_cpu_get_cycle_count统计各任务CPU占用,重点看是否有高优先级任务死循环或忙等;3) 检查是否在临界区/关中断(portENTER_CRITICAL、taskDISABLE_INTERRUPTS)中停留过久,或调用了阻塞式API(如vTaskDelay(0)、忙等轮询);4) 确认双核任务绑定:xTaskCreatePinnedToCore把重负载任务固定到指定核,避免两核同时被占满。规避:避免在任务中无限忙等,改用事件组/队列阻塞;长耗时计算插入vTaskDelay(1)或taskYIELD()让出CPU;提高IDLE任务优先级不可取,应降低业务任务优先级或拆分任务;必要时对特定任务调用esp_task_wdt_add/Reset单独喂狗,并合理设置TWDT超时时间。