EmbarkStudios / crash-handling

Collection of crates to deal with crashes
Apache License 2.0
138 stars 13 forks source link
crash-reporting ipc minidump rust
# `πŸ”₯ crash-handling` **Set of utility crates for catching and handling crashes** [![Embark](https://img.shields.io/badge/embark-open%20source-blueviolet.svg)](https://embark.dev) [![Embark](https://img.shields.io/badge/discord-ark-%237289da.svg?logo=discord)](https://discord.gg/dAuKfZS) [![Build status](https://github.com/EmbarkStudios/crash-handling/workflows/CI/badge.svg)](https://github.com/EmbarkStudios/crash-handling/actions)

Crates

Name Description crates.io docs.rs
crash-context Provides portable types containing target specific contextual information at the time of a crash Crates.io Docs
sadness-generator Provides various ways to make your program sad Crates.io Docs
crash-handler Provides a crash handler to invoke a user supplied callback with the contextual information of a crash Crates.io Docs
minidumper Provides an IPC client and server for creating minidumps for an external process Crates.io Docs

Notable external crate

minidump-writer does the heavy lifting of inspecting a crashed process and writing a minidump for it. This is used by the minidumper::Service to write a minidump to the user specified location when a minidumper::Client detects a crash and requests a dump be created.

Supported targets

Arch unknown-linux-gnu unknown-linux-musl linux-android pc-windows-msvc apple-darwin
x86_64 βœ… βœ… ❌ βœ… βœ…
i686 βœ… βœ… ❌ ❌ ❌
arm βœ… βœ… βœ… ❌ ❌
aarch64 βœ… βœ… βœ… ❌ βœ…

Contribution

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started. Please also read our Contributor Terms before you make any contributions.

Any contribution intentionally submitted for inclusion in an Embark Studios project, shall comply with the Rust standard licensing model (MIT OR Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:

License

This contribution is dual licensed under EITHER OF

at your option.

For clarity, "your" refers to Embark or any other licensee/user of the contribution.