Coretrace is a lightweight tool for debugging embedded Linux applications. It works by analyzing core files from crashed applications and outputs a short plain-text backtrace, suitable for putting into logfiles. The basic idea is to let the failing unit do self analysis of core files and report those back home during device maintenance lifetime. Non-interactive small-sized embedded systems are the primary targets, so small footprint is of major concern, since it will be stored on flash. Currently the compiled size is approximately 20 kb.
airbag_fd provides drop-in crash handlers for POSIX (particularly for embedded Linux). It dumps registers, backtraces, and instruction streams to a file descriptor. It is intended to be self-contained and resilient. Where possible, it will detect and intelligently handle a corrupt state (for example, jumping through a bad pointer or a blown stack). The harvesting and reporting of the crash log is left as an exercise for the reader.