Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Drop-in crash handler for POSIX
C Groff C++ Makefile
Tree: 7b472cca55

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
README
airbag_fd.c
airbag_fd.h
airbag_fd_test.c
airbag_fd_test.sh

README

airbag_fd

Drop-in crash handlers for POSIX, particularly embedded Linux.
Copyright 2011 Chuck Coffing <clc@alum.mit.edu>, MIT licensed
https://github.com/ccoffing/airbag_fd

Dumps registers, backtrace, and instruction stream to a file descriptor.
Intended to be self-contained and resilient.  Where possible, will detect and
intelligently handle corrupt state, such as 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.

Quick start:

1. Include airbag_fd.c and airbag_fd.h in your project.
2. If it doesn't build, define the appropriate DISABLE_* flag(s).
3. Call one of the airbag_init_* functions early.
4. Post-crash (perhaps in a watchdog or on next startup) harvest crash logs.

Example test:

$ g++ -Os -Wall -Wextra -ldl airbag_fd.c airbag_fd_test.c -o airbag_fd_test
$ ./airbag_fd_test.sh


x86:

x86_64:

mips:
Should just work.

arm:
Optionally build your application with -mpoke-function-name.
Something went wrong with that request. Please try again.