원클릭으로
esp32-crash-review
Analyze ESP32 Guru Meditation errors and crash dumps to identify root cause and recommend fixes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Analyze ESP32 Guru Meditation errors and crash dumps to identify root cause and recommend fixes.
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.
Parse and classify ESP32 serial log output to identify errors, warnings, boot issues, and failure patterns.
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_crash_review |
| description | Analyze ESP32 Guru Meditation errors and crash dumps to identify root cause and recommend fixes. |
Analyze crash reports, Guru Meditation errors, and panic dumps to determine root cause.
| Exception | Cause |
|---|---|
LoadProhibited | Read from invalid memory (often NULL pointer) |
StoreProhibited | Write to invalid memory |
InstrFetchProhibited | Tried to execute code from invalid address |
IllegalInstruction | Stack corruption, code corruption, or invalid function pointer |
IntegerDivideByZero | Division by zero |
Unaligned | Unaligned memory access |
From the panic output, collect:
Guru Meditation Error: Core [0/1] panic'ed ([ExceptionType]).
Exception was unhandled.
Core [N] register dump:
PC : 0x........ PS : 0x........
A0 : 0x........ A1 : 0x........ ...
EXCVADDR: 0x........ ← The address that caused the fault
PC (Program Counter) → Where the crash happened. EXCVADDR (Exception Address) → What address was accessed illegally. A1 → Stack pointer at time of crash.
# Using addr2line
xtensa-esp32-elf-addr2line -pfiaC -e build/project.elf ADDR1 ADDR2 ADDR3
# Using idf.py
idf.py monitor # Automatically decodes backtraces
# Using ESP-IDF monitor with ELF
python -m esp_idf_monitor --port /dev/ttyUSB0 --baud 115200 build/project.elf
0x00000000 or small value (< 0x100)IllegalInstruction or LoadProhibited with A1 near the end of stack space.*FromISR.IllegalInstruction at a random address, corrupted register values.CONFIG_HEAP_POISONING_COMPREHENSIVE), use AddressSanitizer.TG0WDT_SYS_RESET or TG1WDT_SYS_RESET in reset reason.Based on the analysis, suggest:
CONFIG_HEAP_POISONING_COMPREHENSIVE=yCONFIG_HEAP_TASK_TRACKING=yCONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=yCONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=yCONFIG_COMPILER_STACK_CHECK=y# Crash Analysis Report
## Exception
- **Type**: [ExceptionType]
- **Core**: [0/1]
- **PC**: [address] → [decoded function]
- **EXCVADDR**: [address]
## Backtrace
| # | Address | Function | File:Line |
|---|---------|----------|-----------|
| 0 | 0x... | function_name | file.c:123 |
## Root Cause
[Analysis of most likely cause]
## Classification
[NULL pointer / Stack overflow / ISR violation / Memory corruption / Other]
## Recommended Fix
[Specific code change or configuration]
## Prevention
[How to prevent this class of bug in the future]