#parser #trace #xen #binary-parser #analyzer #binary-file #xentrace

xentrace-parser

具有研究目的的 XenTrace 文件解析器

4 个稳定版本

2.1.0 2024 年 3 月 27 日
1.2.0 2023 年 8 月 2 日
1.1.0 2023 年 1 月 24 日
0.10.4 2022 年 7 月 12 日
0.1.4 2021 年 6 月 6 日

#2#xen

Download history 24/week @ 2024-04-28 3/week @ 2024-06-30 149/week @ 2024-07-28

每月 152 次下载

LGPL-2.1-or-later

25KB
546

XenTrace 二进制数据解析器 (RUST 语言) GitHub 最新标签 Crates.io 下载

此库通过按其 TSC 排序的事件记录列表来解析 XenTrace 二进制文件。

这是为都灵大学三年制学位考试制作的项目的 Rust 语言版本 项目

依赖关系

  • rust (v1.65+)

使用方法

use xentrace_parser::{Result, Trace};

fn main() -> Result<()> {
    // The trace is truncated to the last readable record, returning no errors.
    let trace = Trace::from_file("/path/to/xentrace.bin")?;

    // Alternatively, you can create a trace from a bytes slice:
    // let bytes: Vec<u8> = vec![/* byte data */];
    // let trace = Trace::from_bytes(&bytes)?;

    // Alternatively, you can create a trace from a reader:
    // let file = std::fs::File::open("/path/to/xentrace.bin")?;
    // let bufreader = std::io::BufReader::new(file);
    // let trace = Trace::from_reader(bufreader);

    for record in trace.iter() {
        println!("{:?}", record);
    }

    Ok(())
}

可以从根目录启动一个示例调试,使用: cargo run --example debug_trace (仅在 GitHub 源代码中可用)。

许可

此库在 GNU Lesser General Public License v2.1 (或更新) 下发布。

依赖关系

~130KB