[][src]Crate panic_ramdump

Writes panic messages to the beginning of RAM

This crate contains an implementation of panic_fmt that logs panic messages to the beginning of RAM, recklessly overwriting the previous contents of that area. After logging the message the panic handler goes into an infinite loop, so a debugging probe can connect and pick up the panic.

Unlike other methods this allows to discover the panic reason post-mortem by attaching a debugger probe after the device crashed.

Currently this crate was only tested on ARM Cortex-M architecture but should be easily portable to other platforms as required.

Usage

This example is not tested
#![no_std]

extern crate panic_ramdump;

fn main() {
    panic!("FOO")
}
(gdb) x/s 0x20000000
0x20000000:	"panicked at 'FOO!', src/main.rs:6:5\n\276\244\001"