DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
exc_decoder.h File Reference

ESP32 panic / exception decoder for a live diagnostics panel (DETWS_ENABLE_EXC_DECODER). More...

#include "ServerConfig.h"
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Detailed Description

ESP32 panic / exception decoder for a live diagnostics panel (DETWS_ENABLE_EXC_DECODER).

When an ESP32 panics it prints a Guru Meditation dump: a cause ("LoadProhibited"), a per-core register dump (PC, EXCVADDR, ...), and a backtrace of PC:SP frame pairs. To resolve those PCs to file:line an addr2line-style panel needs the firmware ELF, which lives off-device - so the on-device job is to extract and present the raw decode: the cause, the faulting PC + data address, and the ordered backtrace PC list, served as JSON for a live "/exception" panel (the browser or a build server then resolves symbols). This is that extractor.

It parses the panic text an app captures (from the console, a saved crash line, or a text rendering of the core-dump partition) into a structured ExcInfo, and serializes it. Pure, zero heap, no stdlib (hand-rolled hex/decimal parsing), host-testable against a captured panic string.

Definition in file exc_decoder.h.