2 个版本
0.1.1 | 2024 年 2 月 7 日 |
---|---|
0.1.0 | 2024 年 2 月 7 日 |
298 在 测试
26 每月下载量
用于 2 crates
8KB
85 行
drop_tracer
简单的内存泄漏检测器。
这个 crate 的作者英语不太好。
如果文档难以阅读,请见谅。
这是什么?
这个 crate 执行简单的内存泄漏检测。这旨在检查小型 crates 中的局部内存泄漏。它使用简单,只需生成用于追踪的项目,将它们嵌入目标中进行管理,然后在稍后检查它们是否已释放。
(#[global_allocator]
属性不是必需的).
示例
使用 try_drop
的示例(请参阅手册以获取其他选项)。
let result = DropTracer::try_drop(|t| {
let x = Chain::new(t.new_item());
let y = Chain::new(t.new_item());
x.borrow_mut().link = Some(y.clone());
y.borrow_mut().link = Some(x.clone());
});
assert_eq!(result.unwrap_err().count(), 2);
struct Chain {
link: Option<Rc<RefCell<Self>>>,
_d: DropItem,
}
impl Chain {
pub fn new(d: DropItem) -> Rc<RefCell<Self>> {
let result = Self { link: None, _d: d };
Rc::new(RefCell::new(result))
}
}
新功能。
v0.1.1
DropItem
实现Debug
特性。