19个版本
0.8.0 | 2024年6月29日 |
---|---|
0.7.0 | 2024年2月25日 |
0.6.5 | 2024年1月28日 |
0.6.4 | 2023年7月12日 |
0.1.3 | 2022年7月22日 |
#148 在 调试 中
2,318 每月下载量
用于 sentry-tauri
18KB
91 行
rust-rust-minidump-sentry
使用 minidumper-child
包来捕获来自单独进程的最小转储,并通过Sentry Rust SDK将它们作为附件发送到Sentry。
sentry_rust_minidump::init
以崩溃报告模式启动当前的可执行文件,该模式等待主应用进程的崩溃转储通知,并处理将崩溃转储文件作为附件写入和发送到Sentry。
在主进程和崩溃报告进程中都会调用 sentry_rust_minidump::init
之前的所有内容,并应配置和启动Sentry。只有主进程会调用 sentry_rust_minidump::init
之后的代码来运行你的应用程序代码。
[dependencies]
sentry = "0.34"
sentry-rust-minidump = "0.8"
fn main() {
let client = sentry::init("__YOUR_DSN__");
// Everything before here runs in both app and crash reporter processes
let _guard = sentry_rust_minidump::init(&client);
// Everything after here runs in only the app process
App::run();
// This will cause a minidump to be sent to Sentry
#[allow(deref_nullptr)]
unsafe {
*std::ptr::null_mut() = true;
}
}
ipc
功能
默认情况下,没有从应用进程到崩溃报告进程的范围同步。这意味着原生崩溃事件将缺少在应用中添加到范围中的面包屑、用户、标签或额外内容。
当启用 ipc
功能时,你可以将范围更新发送到崩溃报告进程
fn main() {
let client = sentry::init("__YOUR_DSN__");
// Everything before here runs in both app and crash reporter processes
let crash_reporter = sentry_rust_minidump::init(&client).expect("crash reported didn't start");
// Everything after here runs in only the app process
crash_reporter.add_breadcrumb(...);
crash_reporter.set_user(...);
crash_reporter.set_extra(...);
crash_reporter.set_tag(...);
// Don't drop crash_reporter or the reporter process will close!
}
依赖关系
~8–19MB
~298K SLoC