Difference between revisions of "Crash handler"

From eLinux.org
Jump to: navigation, search
(Usage Guide: add usage guide info)
(Description: add some description)
Line 6: Line 6:
  
 
== Description ==
 
== Description ==
 +
Crash_handler (new name needed) 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, 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.
  
 
== Features ==
 
== Features ==

Revision as of 05:46, 4 February 2012

This page is a placeholder for Sony's crash_handler program.

This is a new crash_handler written by Tim Bird, of Sony, for use in embedded products.

It is a derivative of Android debuggerd crash-handler and debug aid program, and is licensed under the Apache license.

Description

Crash_handler (new name needed) 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, 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.

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/tombstones, and have the names 'tombstone_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