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://127.0.0.1:7132/stacktrace/rust | jq -r .stacktrace |
||
ELF 信息 | curl https://127.0.0.1:7132/elf/info | jq . |
Linux 🐧 | |
请求 coredump | curl https://127.0.0.1:7132/coredump |
Linux 🐧 | 进程将退出 |
Tokio 栈跟踪 | curl https://127.0.0.1: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