pub struct MinidumpContext {
    pub raw: MinidumpRawContext,
    pub valid: MinidumpContextValidity,
}
Expand description

CPU context such as register states.

MinidumpContext carries a CPU-specific MDRawContext structure, which contains CPU context such as register states. Each thread has its own context, and the exception record, if present, also has its own context. Note that if the exception record is present, the context it refers to is probably what the user wants to use for the exception thread, instead of that thread’s own context. The exception thread’s context (as opposed to the exception record’s context) will contain context for the exception handler (which performs minidump generation), and not the context that caused the exception (which is probably what the user wants).

Fields§

§raw: MinidumpRawContext

The raw CPU register state.

§valid: MinidumpContextValidity

Which registers are valid in raw.

Implementations§

source§

impl MinidumpContext

source

pub fn from_raw(raw: MinidumpRawContext) -> MinidumpContext

Return a MinidumpContext given a MinidumpRawContext.

source

pub fn read( bytes: &[u8], endian: Endian, system_info: &MinidumpSystemInfo, _misc: Option<&MinidumpMiscInfo> ) -> Result<MinidumpContext, ContextError>

Read a MinidumpContext from bytes.

source

pub fn get_instruction_pointer(&self) -> u64

source

pub fn get_stack_pointer(&self) -> u64

source

pub fn get_register_always(&self, reg: &str) -> u64

source

pub fn get_register(&self, reg: &str) -> Option<u64>

source

pub fn format_register(&self, reg: &str) -> String

source

pub fn general_purpose_registers(&self) -> &'static [&'static str]

source

pub fn registers(&self) -> impl Iterator<Item = (&'static str, u64)> + '_

source

pub fn valid_registers(&self) -> impl Iterator<Item = (&'static str, u64)> + '_

source

pub fn register_size(&self) -> usize

Get the size (in bytes) of general-purpose registers.

source

pub fn print<T: Write>(&self, f: &mut T) -> Result<()>

Write a human-readable description of this MinidumpContext to f.

This is very verbose, it is the format used by minidump_dump.

Trait Implementations§

source§

impl Clone for MinidumpContext

source§

fn clone(&self) -> MinidumpContext

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MinidumpContext

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more