4个稳定版本
1.0.3 | 2021年3月15日 |
---|---|
1.0.2 | 2021年3月13日 |
#12 in #func
每月下载量
用于 tps_minicbor
31KB
567 代码行
trace
一个用于跟踪函数执行过程的过程宏。
将 #[trace]
添加到函数、模块或实现的开头,将在受影响的函数的开始和结束处插入 println! 语句,通知您该函数何时被进入和退出,并打印参数和返回值。这对于快速调试是否调用了应该调用的函数非常有用,无需手动插入打印语句。
有关如何使用和配置此库的更多详细信息,请参阅 examples
目录和 文档。
安装
在您的 Cargo.toml
文件中添加依赖项
[dependencies]
func_trace = "^1.0.3"
示例
use func_trace::trace;
func_trace::init_depth_var!();
fn main() {
foo(1, 2);
}
#[trace]
fn foo(a: i32, b: i32) {
println!("I'm in foo!");
bar((a, b));
}
#[trace(prefix_enter="[ENTER]", prefix_exit="[EXIT]")]
fn bar((a, b): (i32, i32)) -> i32 {
if a == 1 {
2
} else {
b
}
}
输出
[+] Entering foo(a = 1, b = 2)
[ENTER] Entering bar(a = 1, b = 2)
[EXIT] Exiting bar = 2
[-] Exiting foo = ()
依赖项
~1.5MB
~35K SLoC