Captures low-level aborts & faults and provides debug information to developers.
Status: Not started
Table of Contents:
- 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
- Works for faults, panics, and assertions
- Should be in a format that can be symbolicated easily using a tool
- Fault handling is likely tied to the Virtual Processor
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.
TBD
- 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?