一键导入
esp32-log-triage
Parse and classify ESP32 serial log output to identify errors, warnings, boot issues, and failure patterns.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Parse and classify ESP32 serial log output to identify errors, warnings, boot issues, and failure patterns.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Verifies user's board configuration against known hardware limitations like strapping pins, ADC/Wi-Fi conflicts, and input-only pins.
Review ESP32 firmware architecture for RTOS safety, memory management, error handling, and embedded best practices.
Analyze ESP32 Guru Meditation errors and crash dumps to identify root cause and recommend fixes.
Audit ESP32 GPIO usage for conflicts, reserved pin violations, and documentation drift.
Generate a structured test plan for ESP32 firmware changes across all testing layers.
Generate a structured implementation contract before making any code changes to an ESP32 project.
| name | esp32_log_triage |
| description | Parse and classify ESP32 serial log output to identify errors, warnings, boot issues, and failure patterns. |
Systematically analyze ESP32 serial log output to identify and classify issues.
ESP-IDF log format:
[LEVEL][TAG] (TIMESTAMP) MESSAGE
Levels (severity order):
E — Error (critical failures)W — Warning (potential issues)I — Info (normal operation)D — Debug (detailed tracing)V — Verbose (maximum detail)Search for these high-priority patterns:
rst:0x1 (POWERON_RESET) → Normal power-on
rst:0x3 (SW_RESET) → Software reset
rst:0x7 (TG0WDT_SYS_RESET) → Task watchdog reset
rst:0x8 (TG1WDT_SYS_RESET) → Interrupt watchdog reset
rst:0xf (BROWNOUT_RESET) → Power supply issue
Guru Meditation Error → CPU exception
LoadProhibited → NULL pointer or invalid memory read
StoreProhibited → Write to invalid memory
InstrFetchProhibited → Jump to invalid address
IllegalInstruction → Corrupt code or stack
abort() → Software abort
Stack overflow → Task stack too small
MALLOC_FAILURE → Heap exhaustion
heap_caps_alloc failed → Specific heap type exhausted
heap corruption detected → Memory corruption
wifi:state: → Wi-Fi state transitions
esp_netif_lwip: Failed → Network interface errors
TRANSPORT_BASE: Failed → Connection failures
MQTT_CLIENT: Error → MQTT protocol errors
Categorize the primary issue:
| Category | Indicators |
|---|---|
| Boot loop | Repeated reset reasons, never reaches app_main |
| Crash | Guru Meditation, backtrace present |
| Memory | Allocation failures, usage growing over time |
| Watchdog | TG0WDT/TG1WDT reset reasons |
| Network | Connection failures, timeouts, drops |
| Peripheral | I2C/SPI/UART errors, timeout on bus |
| Power | Brownout resets, unstable ADC readings |
If a crash backtrace is present:
Backtrace: 0x400d1234:0x3ffb5678 0x400d2345:0x3ffb6789
Decode with:
xtensa-esp32-elf-addr2line -pfiaC -e build/project.elf 0x400d1234 0x400d2345
# Log Triage Report
## Summary
- **Issue type**: [Boot loop / Crash / Memory / Watchdog / Network / Peripheral / Power]
- **Severity**: [CRITICAL / HIGH / MEDIUM / LOW]
- **Reset reason**: [From boot log]
## Key Events (chronological)
1. [timestamp] [event description]
2. [timestamp] [event description]
## Error Patterns
- [Pattern]: [count] occurrences — [interpretation]
## Root Cause Hypothesis
[Most likely cause based on evidence]
## Recommended Next Steps
1. [Action]
2. [Action]
## Raw Evidence
[Relevant log excerpts]