An open API service indexing awesome lists of open source software.

https://github.com/embarkstudios/crash-handling

Collection of crates to deal with crashes
https://github.com/embarkstudios/crash-handling

crash-reporting ipc minidump rust

Last synced: about 2 months ago
JSON representation

Collection of crates to deal with crashes

Awesome Lists containing this project

README

        

# `🔥 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`](crash-context) | Provides portable types containing target specific contextual information at the time of a crash | [![Crates.io](https://img.shields.io/crates/v/crash-context.svg)](https://crates.io/crates/crash-context) | [![Docs](https://docs.rs/crash-context/badge.svg)](https://docs.rs/crash-context)
[`sadness-generator`](sadness-generator) | Provides various ways to make your program sad | [![Crates.io](https://img.shields.io/crates/v/sadness-generator.svg)](https://crates.io/crates/sadness-generator) | [![Docs](https://docs.rs/sadness-generator/badge.svg)](https://docs.rs/sadness-generator)
[`crash-handler`](crash-handler) | Provides a crash handler to invoke a user supplied callback with the contextual information of a crash | [![Crates.io](https://img.shields.io/crates/v/crash-handler.svg)](https://crates.io/crates/crash-handler) | [![Docs](https://docs.rs/crash-handler/badge.svg)](https://docs.rs/crash-handler)
[`minidumper`](minidumper) | Provides an IPC client and server for creating minidumps for an external process | [![Crates.io](https://img.shields.io/crates/v/minidumper.svg)](https://crates.io/crates/minidumper) | [![Docs](https://docs.rs/minidumper/badge.svg)](https://docs.rs/minidumper)

## Notable external crate

[`minidump-writer`](https://github.com/rust-minidump/minidump-writer) does the heavy lifting of inspecting a crashed process and writing a [minidump](https://github.com/rust-minidump/rust-minidump) for it. This is used by the [`minidumper::Service`](https://docs.rs/minidumper/latest/minidumper/struct.Server.html) to write a minidump to the user specified location when a [`minidumper::Client`](https://docs.rs/minidumper/latest/minidumper/struct.Client.html) 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](https://img.shields.io/badge/contributor%20covenant-v1.4-ff69b4.svg)](CODE_OF_CONDUCT.md)

We welcome community contributions to this project.

Please read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started.
Please also read our [Contributor Terms](CONTRIBUTING.md#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

- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or )
- MIT license ([LICENSE-MIT](LICENSE-MIT) or )

at your option.

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