12个版本
0.2.2 | 2022年1月26日 |
---|---|
0.2.1 | 2019年12月23日 |
0.1.8 | 2019年12月1日 |
0.1.4 | 2019年6月30日 |
#377 in 调试
每月50次下载
用于 4 crate
41KB
391 行
bugsalot
这个crate提供用于处理bug的宏和方法。具体来说,我希望在崩溃时能够获得(bug报告、易于调试等)所有优点,同时避免(丢失进度、惹恼玩家等)所有缺点。Rust的错误处理机制(如Try
、?
、Result
等)非常棒,但在处理实际bug时还有待提高。类似地,Rust的panic!
、.unwrap()
、.expect()
等,在提供bug上下文方面还不错,但用于编写稳定软件则不太理想。这个crate将尝试填补这一差距。
分支 | 徽章 | 备注 |
---|---|---|
发布 | 稳定/已发布版本 | |
master | "已完成"但尚未发布的"东西"。 | |
wip/* | "工作进行中" - 不完整,使用时请自行承担风险。 | |
dead/* | 被遗弃的工作线程 |
平台
平台 | 断点 | 调试器 | CI | 稳定 | 测试版 | 夜间版 |
---|---|---|---|---|---|---|
Windows | ||||||
Android | ||||||
Linux | ||||||
(发布) | ||||||
FreeBSD | ||||||
NetBSD | ||||||
OS X | ||||||
iOS | ||||||
WASM |
快速入门
将以下bugsalot依赖项之一添加到你的Cargo.toml中
[dependencies]
bugsalot = "0.2" # Or...
bugsalot = { version = "0.2", features = ["wasm-bindgen"] } # If using: wasm-pack
bugsalot = { version = "0.2", features = ["stdweb"] } # If using: cargo web build
use bugsalot::*;
fn main() {
let _ = debugger::wait_until_attached(None); // Wait for a debugger to be attached
loop {
let a : Option<i32> = Some(42);
let b : Result<i32, &'static str> = Err("Unavailable");
let a = expect!(a, "Unable to do something or other", return);
let b = expect!(b, "Unable to do something or other", break);
// Debugger will pause on the above line, continuing will break out of the loop
}
expect!(true, "Booleans work too");
}
许可协议
许可协议为以下之一
- Apache许可证2.0版本(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的,您有意提交以包含在工作中的任何贡献,均应按照上述方式双许可,不附加任何额外条款或条件。
依赖项
~0–660KB
~12K SLoC