pub struct VmmPdb<'a> {
pub module: String,
/* private fields */
}
Expand description
Debug Symbol API.
The PDB sub-system requires that MemProcFS supporting DLLs/.SO’s for
debugging and symbol server are put alongside vmm.dll. Also it’s
recommended that the file info.db is put alongside vmm.dll.
vmmprocess.pdb_from_module_address()
vmm.kernel().pdb()
let kernel = vmm.kernel();
let pdb = kernel.pdb();
let pdb = vmmprocess.pdb("ntdll.dll")?;
Retrieve a symbol name and a displacement given a module offset or virtual address.
va_or_offset - Virtual address or offset from module base.
if let Ok(r) = pdb.symbol_name_from_address(va_symbol) {
println!("va_o: {:x} name: '{}' displacement: {:x}", va_symbol, r.0, r.1);
}
Lookup a symbol address given its name.
let va = pdb_nt.symbol_address_from_name("MiMapContiguousMemory")?;
Retrieve the size of a struct/type.
let size_eprocess = pdb_nt.type_size("_EPROCESS")?;
Retrieve offset of a struct child member.
type_name
type_child_name
let offet_vadroot = pdb_nt.type_child_offset("_EPROCESS", "VadRoot")?
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
Returns the argument unchanged.
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
Converts the given value to a
String.
Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.