#hex-dump #debugging #closures #u8 #u16 #u32 #dbgtools

dbgtools-hexdump

用于dbgtools的十六进制转储函数

1个不稳定版本

0.1.0 2021年5月5日

#1961开发工具


用于 dbgtools

0BSD 许可

6KB
65

一个十六进制转储器,它通过调用闭包来允许应用程序选择如何输出转储。

示例:转储结构体

use dbgtools_hexdump::{Config, hexdump};

struct MyStruct {
  eight: u8,
  sixteen: u16,
  thirtytwo: u32
}

let data = MyStruct { eight: 8, sixteen: 16, thirtytwo: 32 };
hexdump(Config::default(), &data, |offs, hex, ascii| {
  println!("{:08x} {} {}", offs, hex, ascii);
});

示例:带有地址的转储结构体

有时在转储缓冲区中包含实际地址可能很有用。这可以通过将基偏移量添加到配置上下文来实现。

use dbgtools_hexdump::{Config, hexdump};

struct MyStruct {
  eight: u8,
  sixteen: u16,
  thirtytwo: u32
}

let data = MyStruct { eight: 8, sixteen: 16, thirtytwo: 32 };
hexdump(Config {
   offs: &data as *const _ as usize,
   ..Default::default()
  }, &data, |offs, hex, ascii| {
  println!("{:08x} {} {}", offs, hex, ascii);
});

无运行时依赖