TWDT误触发通常不是看门狗本身问题,而是某个核的idle任务长期得不到调度。定位步骤:1) 先确认触发的是哪个核的idle:在esp_task_wdt_init时打开TWDT_INT_WDT或打印pcTaskGetName(NULL),看panic栈里被喂狗的是IDLE0还是IDLE1;2) 用uxTaskGetSystemState或vTaskGetRunTimeStats统计各任务CPU占用,重点看是否有高优先级任务在死循环、忙等或长时间关中断;3) 检查core affinity:xTaskCreatePinnedToCore把大量高优先级任务钉在同一核,另一核idle被饿死;4) 排查临界区与中断:portENTER_CRITICAL、taskDISABLE_INTERRUPTS、长时间ISR都会阻止idle运行;5) 用esp_timer或GPIO翻转测量最长关中断时间。实操建议:临时把可疑任务改为vTaskDelay(1)让出CPU验证,或把TWDT超时调大观察是否仍触发;最终用双核分别统计idle hook计数来量化饥饿程度。