Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "Crash handler"

From eLinux.org
Jump to: navigation, search
(rename tombstones to crash_reports)
Line 6: Line 6:
  
 
== Description ==
 
== Description ==
Crash_handler (new name needed) is a crash report generator for embedded Linux systems.  It uses
+
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, called a 'tombstone'.  Up to 10 tombstones 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.
+
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/tombstones, and have the names 'tombstone_0x', where x is a number from 0 to 9
+
** 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 00:15, 28 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.

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