Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 1.66 KB

fault_handler.md

File metadata and controls

53 lines (34 loc) · 1.66 KB

CRC-R: Fault Handler

Captures low-level aborts & faults and provides debug information to developers.

Status: Not started

Table of Contents:

  1. Responsibilities
  2. Requirements
  3. Collaborators
  4. Rationale
  5. Source Links
  6. Related Documents
  7. Notes

Responsibilities

  • Provide a user-friendly message explaining the fault type, and if known, the cause
  • Provide a backtrace of function calls that lead to the fault
  • Provide a printout of processor registers to give the user a snapshot of the system

Requirements

  • Works for faults, panics, and assertions
  • Should be in a format that can be symbolicated easily using a tool

Collaborators

Rationale

Fault handling is a common occurrence when working with low-level software. Developers often re-write fault handling capabilities on each platform, as SDKs rarely ship with sufficient fault handling support.

In order to aid in debugging, developers should be armed with the necessary information to figure out what happened.

Source Links

TBD

Related Documents

Notes

  • What layer does this belong in?
    • What pieces are processor-dependent, and what pieces are generic?
    • Can we isolate the processor-dependent pieces through a generic API that is required in the base processor class?
  • Is this a utility?
  • If using logging, should we dump the buffer?