2 个版本
| 0.1.5 | 2024 年 2 月 6 日 |
|---|---|
| 0.1.4 | 2024 年 2 月 2 日 |
#324 in 异步
每月 392 次下载
20KB
246 行
[!WARNING] 此软件包已上线并公开,但目前由于 问题 #1 而损坏。
使用 delouse
首先,编辑你的 Cargo.toml 以将 delouse crate 添加为可选依赖项,并添加一个新的功能 ("debug").
[dependencies]
...
delouse = { version = "0", optional = true }
...
[features]
...
debug = ["dep:delouse"]
...
接下来,在 main 或类似的启动过程中,添加以下内容
...
async fn main() -> Result<()> {
#[cfg(feature = "debug")]
{
delouse::init().unwrap();
}
...
}
...
运行您的程序
当使用 cargo build 或 cargo run 运行时,添加额外的 --features debug 标志以启用 delouse。
使用 delouse
默认情况下,由于尚无开关,delouse 将绑定到 127.0.0.1:7132。接口基于 OpenAPI/JSON,因此您可以根据需要剃掉那只羊,但我倾向于只使用 cURL。以下是一些坏天气的命令
| 什么 | 命令 | 平台限制 | 注意 |
|---|---|---|---|
| Rust 栈跟踪 | curl https://:7132/stacktrace/rust | jq -r .stacktrace |
||
| ELF 信息 | curl https://:7132/elf/info | jq . |
Linux 🐧 | |
| 请求 coredump | curl https://:7132/coredump |
Linux 🐧 | 进程将退出 |
| Tokio 栈跟踪 | curl https://:7132/stacktrace/tokio | jq -r .stacktrace |
Linux 🐧, tokio_unstable |
此端点是 非常 不稳定的。如果此操作锁定 tokio 的运行时,此操作将引发进程恐慌并带有堆栈跟踪。 |
tokio 特定说明
我们需要的大部分表面都是不稳定的。以下表格列出了端点和所需的 cfg 指令。
| 端点 | cfgs |
|---|---|
stacktrace/tokio |
tokio_unstable, tokio_taskdump |
在作者非常谦逊的看法中,在没有特定信念或工程限制的情况下,当使用tokio运行时,以下.cargo/config.toml设置是推荐的。
[build]
rustflags = ["--cfg", "tokio_unstable"]
[target.x86_64-unknown-linux-gnu]
rustflags = ["--cfg", "tokio_unstable", "--cfg", "tokio_taskdump"]
如果这不可能实现,delouse将优雅地降级,不提供无法运行的任何端点。
依赖项
~23–53MB
~1M SLoC