2个版本
0.1.1 | 2023年7月1日 |
---|---|
0.1.0 | 2023年7月1日 |
#553 in 调试
59KB
534 代码行
struct_scalpel
使用ansi转义码打印到控制台的Rust结构体、枚举、联合、元组和引用的内存布局分析工具。
简单地使用Dissectible
派生并调用print_dissection_info
以获取格式良好的概述。
use struct_scalpel::{Dissectible, print_dissection_info};
#[derive(Dissectible)]
struct Person {
name: String,
age: u32,
is_student: bool,
height: f64,
favorite_numbers: Vec<u8>,
}
fn main() {
print_dissection_info::<Person>();
}
使用dissect_std
,您甚至可以分析一些std项,只需对私有类型进行少量类型路径偏差。
- String
- Option
- Result
- Box
- Rc
- cell
- UnsafeCell
- Cell
- RefCell
- OnceCell
- sync
- OnceLock
免责声明:这可能在所有情况下都不适用,例如,某些字段大小未定义或依赖于系统(操作系统)实现。
这也适用于泛型和不同的布局策略。
依赖项
~0.5–12MB
~79K SLoC