4个版本
| 0.1.9 | 2023年10月16日 |
|---|---|
| 0.1.8 | 2023年10月16日 |
| 0.1.5 |
|
#224 in 过程宏
每月下载量50
7KB
90 行
定义类似于C的调试跟踪宏:enter!()和leave!()。
查看crate:https://crates.io/crates/dmacro
感谢https://stackoverflow.com/questions/38088067。
示例
use dmacro::*;
fn main() {
enter!();
println!("Hello, world!");
trace!();
trace!("church11");
trace!("church21", "church22",);
trace!("church31", "church32", "church33");
trace!("church31", "church32", "church33", 1024);
let y = 2023;
let m = 9;
let d = 28;
trace!(format!("{:04}-{:02}-{:02}", y, m, d));
trace!(format!("{y:04}-{m:02}-{d:02}"));
trace!(format!("{y:04}-{m:02}-{d:02}"), "enter");
trace!(format!("{y:04}-{m:02}-{d:02}"), "leave");
leave!();
}
更多
lib.rs:
dmacro:为Rust实现函数宏、调试宏、跟踪宏和日志宏
此模块包含对function!语法扩展的运行时支持。还实现了三个有用的宏:trace!、enter!、leave!。此模块包含对函数宏function!、调试宏trace!、跟踪宏trace!和日志宏trace!的简单和个性化实现。
定义类似于C的调试跟踪宏:enter!()和leave!()。
查看crate:https://crates.io/crates/dmacro
感谢https://stackoverflow.com/questions/38088067。
示例
use dmacro::*;
fn main() {
enter!();
println!("Hello, world!");
trace!();
trace!("church11");
trace!("church21", "church22",);
trace!("church31", "church32", "church33");
trace!("church31", "church32", "church33", 1024);
let y = 2023;
let m = 9;
let d = 28;
trace!(format!("{:04}-{:02}-{:02}", y, m, d));
trace!(format!("{y:04}-{m:02}-{d:02}"));
trace!(format!("{y:04}-{m:02}-{d:02}"), "enter");
trace!(format!("{y:04}-{m:02}-{d:02}"), "leave");
leave!();
}
更多
- [https://crates.io/crates/trace](https://crates.io/crates/trace)
依赖
~1MB
~18K SLoC