minidump-writer
Rust rewrite of Breakpad's minidump_writer (client)
This project is currently being very actively brought up from nothing, and is really ultimately many separate client implementations for different platforms.
Usage / Examples
Linux
fn write_minidump(crash_context: crash_context::CrashContext) {
let mut writer = minidump_writer::minidump_writer::MinidumpWriter::new(crash_context.pid, crash_context.tid);
writer.set_crash_context(minidump_writer::crash_context::CrashContext { inner: crash_context });
let mut minidump_file = std::fs::File::create("example_dump.mdmp").expect("failed to create file");
writer.dump(&mut minidump_file).expect("failed to write minidump");
}
Windows
fn write_minidump(crash_context: crash_context::CrashContext) {
let writer = minidump_writer::minidump_writer::MinidumpWriter::new(crash_context)?;
let mut minidump_file = std::fs::File::create("example_dump.mdmp").expect("failed to create file");
writer.dump(&mut minidump_file).expect("failed to write minidump");
}
MacOS
fn write_minidump(crash_context: crash_context::CrashContext) {
let mut writer = minidump_writer::minidump_writer::MinidumpWriter::new(crash_context)?;
let mut minidump_file = std::fs::File::create("example_dump.mdmp").expect("failed to create file");
writer.dump(&mut minidump_file).expect("failed to write minidump");
}
Client Statuses
- ✅ Usable, but care should be taken in production environments
- ⚠️ Implemented (ie compiles), but untested and needs more work to be usable
- ⭕️ Unimplemented, but could be implemented in the future
- ❌ Unimplemented, and unlikely to ever be implemented
Arch |
unknown-linux-gnu |
unknown-linux-musl |
linux-android |
pc-windows-msvc |
apple-darwin |
apple-ios |
x86_64 |
✅ |
✅ |
⚠️ |
✅ |
✅ |
⭕️ |
i686 |
✅ |
✅ |
❌ |
⚠️ |
❌ |
❌ |
arm |
⚠️ |
⚠️ |
⚠️ |
⭕️ |
❌ |
❌ |
aarch64 |
⚠️ |
⚠️ |
⚠️ |
⭕️ |
✅ |
⭕️ |
mips |
⭕️ |
⭕️ |
❌ |
❌ |
❌ |
❌ |
mips64 |
⭕️ |
⭕️ |
❌ |
❌ |
❌ |
❌ |
powerpc |
⭕️ |
⭕️ |
❌ |
❌ |
❌ |
❌ |
powerpc64 |
⭕️ |
⭕️ |
❌ |
❌ |
❌ |
❌ |