pub struct Struct {
pub location: DwarfUnit,
}Expand description
Represents a struct type
Fields§
§location: DwarfUnitImplementations§
Source§impl Struct
impl Struct
pub fn alignment_stats<D>(&self, dwarf: &D) -> Result<AlignmentStats, Error>where
D: DwarfContext + BorrowableDwarf,
Sourcepub fn to_string_verbose<D>(
&self,
dwarf: &D,
verbosity: u8,
) -> Result<String, Error>where
D: BorrowableDwarf + DwarfContext,
pub fn to_string_verbose<D>(
&self,
dwarf: &D,
verbosity: u8,
) -> Result<String, Error>where
D: BorrowableDwarf + DwarfContext,
Examples found in repository?
examples/dump_verbose.rs (line 26)
7fn main() -> anyhow::Result<()> {
8 let mut args = std::env::args().skip(1);
9 let path = args.next().unwrap_or_else(|| {
10 eprintln!("Usage: dump_verbose <path> [verbosity-level]");
11 std::process::exit(1);
12 });
13 let verbosity = args.next().unwrap_or_else(|| {
14 "0".to_string()
15 });
16
17 let verbosity = verbosity.parse::<u8>()?;
18
19 let file = File::open(path)?;
20 let mmap = unsafe { Mmap::map(&file) }?;
21 let dwarf = Dwarf::load(&*mmap)?;
22
23 let struct_map = dwarf.get_fg_named_structs_map()?;
24
25 for (_, struc) in struct_map.into_iter() {
26 println!("{}", struc.to_string_verbose(&dwarf, verbosity)?);
27 }
28
29 Ok(())
30}More examples
examples/lookup.rs (line 37)
7fn main() -> anyhow::Result<()> {
8 let mut args = std::env::args().skip(1);
9 let struct_name = args.next().unwrap_or_else(|| {
10 eprintln!("Usage: lookup <struct_name> <path> [verbosity]");
11 std::process::exit(1);
12 }).to_string();
13 let path = args.next().unwrap_or_else(|| {
14 eprintln!("Usage: lookup <struct_name> <path> [verbosity]");
15 std::process::exit(1);
16 });
17 let verbosity = args.next().unwrap_or_else(|| {
18 "0".to_string()
19 });
20
21 let verbosity = verbosity.parse::<u8>()?;
22
23 let file = File::open(path).unwrap();
24 let mmap = unsafe { Mmap::map(&file) }.unwrap();
25 let dwarf = Dwarf::load(&*mmap)?;
26
27 // some good test cases:
28 // compat_rusage
29 // file_system_type
30 // trace_event_raw_itimer_expire
31 // sev_config
32 // mca_config
33 // ntb_ctrl_regs
34
35 let found = dwarf.lookup_type::<dwat::Struct>(struct_name)?;
36 if let Some(found) = found {
37 println!("{}", found.to_string_verbose(&dwarf, verbosity)?);
38 }
39
40 Ok(())
41}pub fn to_string<D>(&self, dwarf: &D) -> Result<String, Error>where
D: BorrowableDwarf + DwarfContext,
pub fn byte_size<D>(&self, dwarf: &D) -> Result<usize, Error>where
D: DwarfContext,
pub fn alignment<D>(&self, dwarf: &D) -> Result<usize, Error>where
D: DwarfContext,
Trait Implementations§
Source§impl HasMembers for Struct
impl HasMembers for Struct
impl Copy for Struct
Auto Trait Implementations§
impl Freeze for Struct
impl RefUnwindSafe for Struct
impl Send for Struct
impl Sync for Struct
impl Unpin for Struct
impl UnwindSafe for Struct
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more