Apport is a system which:
- Intercepts crashes right when they happen the first time.
- Gathers potentially useful information about the crash and the OS environment.
- Can be automatically invoked for unhandled exceptions in other programming languages (e. g. in Ubuntu this is done for Python)
- Can be automatically invoked for other problems that can be automatically detected (e. g. Ubuntu automatically detects and reports package installation/upgrade failures from update-manager)
- Presents an UI that informs the user about the crash and instructs them on how to proceed
- Able to file non-crash bug reports about software, so that developers still get information about package versions, OS version etc.