This project is maintained by:
minicoredumper provides an alternate core dump facility for Linux to allow minimal and customized crash dumps. It is composed primarily of 3 parts:
-
minicoredumper - a customizable core dump application to replace the default Linux core dump facility
-
libminicoredumper - a library allowing applications to register data for dumping
-
minicoredumper_regd - a service to allow multiple applications to dump their data on demand or if any of the applications crash
Please view the file COPYING
for copyright and license information.
The minicoredumper package uses autotools:
$ ./configure
$ make
$ sudo make install
In the etc
directory there are sample configuration files.
To inform Linux to use the minicoredumper for the core dump facility:
$ echo '|/usr/sbin/minicoredumper %P %u %g %s %t %h %e' | \
sudo tee /proc/sys/kernel/core_pattern
$ echo 0x7fffffff | sudo tee /proc/sys/kernel/core_pipe_limit
The following man pages are provided with this package:
- libminicoredumper (7)
- minicoredumper (1)
- minicoredumper.cfg.json (5)
- minicoredumper.recept.json (5)
- minicoredumper_regd (1)
- minicoredumper_trigger (1)
- coreinject (1)
- mcd_dump_data_register_bin (3)
- mcd_dump_data_register_text (3)
- mcd_dump_data_unregister (3)
Website: https://linutronix.de/minicoredumper
Mailing List: https://lists.linutronix.de/mailman/listinfo/minicoredumper
Issue Tracker: https://github.com/diamon/minicoredumper/issues
Git Repository: https://github.com/diamon/minicoredumper
This packages provides an example application to test the
minicoredumper. The example application is not built by default.
This must be activated with the --with-minicoredumper_demo
argument for configure.
The example application minicoredumper_demo
uses libminicoredumper
to register variables. If it is run with no command line arguments,
it crashes deliberately, which should trigger the minicoredumper.
The example also registers with minicoredumper_regd. When an
application crashes, the registered data of the example application
can be dumped as well (depending on the recept file).
The demo can be performed by running the example program twice. One
instance that registers itself, waits, and exits gracefully, and
another instance that crashes. Assuming minicoredumper is installed
and activated, minicoredumper_regd is running and live_dumper
is
enabled in the recept file, the demo can be executed with the
following commands:
$ minicoredumper_demo 6 & sleep 3 && minicoredumper_demo
This will start one instance of minicoredumper_demo in the background that will gracefully exit after 6 seconds. 3 seconds after starting the first instance, a second instance of minicoredumper_demo is started in the foreground that will crash immediately.
In the minicoredumper base_dir
there should now be a directory
containing a core file and the dump data from the second (crashed)
instance of minicoredumper_demo. In that directory there should also
be the dump data from the first instance of minicoredumper_demo
(that had a graceful exit).