pub struct KernelDumpParser<'reader> { /* private fields */ }
Expand description

A kernel dump parser that gives access to the physical memory space stored in the dump. It also offers virtual to physical memory translation as well as a virtual read facility.

Implementations§

source§

impl<'reader> KernelDumpParser<'reader>

source

pub fn with_reader( reader: impl Reader + 'reader ) -> Result<Self, KdmpParserError>

Create an instance from a file path. This memory maps the file and parses it.

source

pub fn new<P>(dump_path: &P) -> Result<Self, KdmpParserError>
where P: AsRef<Path>,

source

pub fn physmem(&self) -> impl ExactSizeIterator<Item = (Gpa, u64)> + '_

source

pub fn dump_type(&self) -> DumpType

What kind of dump is it?

source

pub fn exception_record(&self) -> &ExceptionRecord64

Get the exception record.

source

pub fn context_record(&self) -> &Context

Get the context record.

source

pub fn phys_read(&self, gpa: Gpa, buffer: &mut [u8]) -> Option<usize>

Read physical memory starting at gpa into a buffer.

source

pub fn phys_read_exact(&self, gpa: Gpa, buffer: &mut [u8]) -> Option<()>

Read an exact amount of physical memory starting at gpa into a buffer.

source

pub fn phys_read8(&self, gpa: Gpa) -> Option<u64>

Read a u64 in physical memory at gpa.

source

pub fn virt_read(&self, gva: Gva, buffer: &mut [u8]) -> Option<usize>

Read virtual memory starting at gva into a buffer.

source

pub fn virt_read_exact(&self, gva: Gva, buffer: &mut [u8]) -> Option<()>

Read virtual memory starting at gva

source

pub fn virt_translate(&self, gva: Gva) -> Option<Gpa>

Translate a Gva into a Gpa.

Trait Implementations§

source§

impl<'reader> Debug for KernelDumpParser<'reader>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'reader> !Freeze for KernelDumpParser<'reader>

§

impl<'reader> !RefUnwindSafe for KernelDumpParser<'reader>

§

impl<'reader> !Send for KernelDumpParser<'reader>

§

impl<'reader> !Sync for KernelDumpParser<'reader>

§

impl<'reader> Unpin for KernelDumpParser<'reader>

§

impl<'reader> !UnwindSafe for KernelDumpParser<'reader>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.