Difference between revisions of "Crash handler"
(rename tombstones to crash_reports) |
|||
Line 6: | Line 6: | ||
== Description == | == Description == | ||
− | Crash_handler | + | Crash_handler is a crash report generator for embedded Linux systems. It uses |
features of recent Linux kernels to query the capture process crash events, and to record information | features of recent Linux kernels to query the capture process crash events, and to record information | ||
about the crash history of a device, as well a individual crash reports. | about the crash history of a device, as well a individual crash reports. | ||
Line 13: | Line 13: | ||
When a crash occurs, crash_handler collects information about the dying process from /proc, possibly from the kernel message log, and by using ptrace to query the process memory image. | When a crash occurs, crash_handler collects information about the dying process from /proc, possibly from the kernel message log, and by using ptrace to query the process memory image. | ||
− | This information is saved in a crash report | + | This information is saved in a crash report. Up to 10 crash_reports are saved, before the oldest ones start being overwritten. Also, a crash journal file is maintained, which records information about the crash history of the device. |
== Features == | == Features == | ||
Line 19: | Line 19: | ||
== Usage Guide == | == Usage Guide == | ||
* Build using your cross-compiler, and place somewhere on your target system | * Build using your cross-compiler, and place somewhere on your target system | ||
− | * Install by running the following as root: 'crash_handler install' | + | * Install by running the following as root: 'crash_handler --install' |
** This sets /proc/sys/kernel/core_pattern with the correct string | ** This sets /proc/sys/kernel/core_pattern with the correct string | ||
* Output: | * Output: | ||
** The crash journal is at: /tmp/crash_journal | ** The crash journal is at: /tmp/crash_journal | ||
− | ** Individual crash reports are in: /tmp/ | + | ** Individual crash reports are in: /tmp/crash_reports/, and have the names 'crash_report_0x', where x is a number from 0 to 9 |
== Source code == | == Source code == |
Revision as of 17:15, 27 February 2012
This page describes Sony's embedded crash_handler program.
This is a new crash_handler written by Tim Bird, of Sony, for use in embedded Linux products.
It is a derivative of Android debuggerd crash-handler and debug aid program, and is licensed under the Apache license.
Contents
Description
Crash_handler is a crash report generator for embedded Linux systems. It uses features of recent Linux kernels to query the capture process crash events, and to record information about the crash history of a device, as well a individual crash reports.
It is originally based on Android's debuggerd, which performs similar functionality. However, debuggerd requires that a dedicated debugging process be running permanently on the system, where crash_handler does not.
When a crash occurs, crash_handler collects information about the dying process from /proc, possibly from the kernel message log, and by using ptrace to query the process memory image. This information is saved in a crash report. Up to 10 crash_reports are saved, before the oldest ones start being overwritten. Also, a crash journal file is maintained, which records information about the crash history of the device.
Features
Usage Guide
- Build using your cross-compiler, and place somewhere on your target system
- Install by running the following as root: 'crash_handler --install'
- This sets /proc/sys/kernel/core_pattern with the correct string
- Output:
- The crash journal is at: /tmp/crash_journal
- Individual crash reports are in: /tmp/crash_reports/, and have the names 'crash_report_0x', where x is a number from 0 to 9
Source code
Required kernel patches
To Do
Resources
To discuss this crash handler, use the celinux-dev mailing list. See http://lists.celinuxforum.org/mailman/listinfo/celinux-dev