بنقرة واحدة
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]