To debug hard-to-reproduce faults/panics, it's helpful to get the full register state at the time a fault occurred. This enables recovering full backtraces and the state of local variables at the time of a crash. This PR introduces a new Kconfig option, CONFIG_EXTRA_EXCEPTION_INFO, to facilitate this use case. The option enables the capturing of the callee-saved register state (r4-r11 & exc_return) during a fault. The info is forwarded to `k_sys_fatal_error_handler` in the z_arch_esf_t parameter. From there, the data can be saved for post-mortem analysis. To test the functionality a new unit test was added to tests/arch/arm_interrupt which verifies the register contents passed in the argument match the state leading up to a crash. Signed-off-by: Chris Coleman <chris@memfault.com> |
||
|---|---|---|
| .. | ||
| arc | ||
| arm | ||
| common | ||
| nios2 | ||
| posix | ||
| riscv | ||
| x86 | ||
| xtensa | ||
| CMakeLists.txt | ||
| Kconfig | ||