Struct minidump::MinidumpException[][src]

pub struct MinidumpException {
    pub raw: MINIDUMP_EXCEPTION_STREAM,
    pub thread_id: u32,
    pub context: Option<MinidumpContext>,
}
Expand description

Information about the exception that caused the minidump to be generated.

MinidumpException wraps MINIDUMP_EXCEPTION_STREAM, which contains information about the exception that caused the minidump to be generated, if the minidump was generated in an exception handler called as a result of an exception. It also provides access to a MinidumpContext object, which contains the CPU context for the exception thread at the time the exception occurred.

Fields

raw: MINIDUMP_EXCEPTION_STREAM

The raw exception information from the minidump stream.

thread_id: u32

The thread that encountered this exception.

context: Option<MinidumpContext>

If present, the CPU context from the time the thread encountered the exception.

This should be used in place of the context contained within the thread with id thread_id, since it points to the code location where the exception happened, without any exception handling routines that are likely to be on the stack after that point.

Implementations

impl MinidumpException[src]

pub fn get_crash_address(&self, os: Os) -> u64[src]

Get the crash address for an exception.

pub fn get_crash_reason(&self, os: Os, cpu: Cpu) -> CrashReason[src]

Get the crash reason for an exception.

pub fn get_crashing_thread_id(&self) -> u32[src]

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

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

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

Trait Implementations

impl Debug for MinidumpException[src]

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

Formats the value using the given formatter. Read more

impl<'a> MinidumpStream<'a> for MinidumpException[src]

const STREAM_TYPE: MINIDUMP_STREAM_TYPE[src]

The stream type constant used in the md::MDRawDirectory entry.

fn read(
    bytes: &'a [u8],
    all: &'a [u8],
    endian: Endian
) -> Result<MinidumpException, Error>
[src]

Read this MinidumpStream type from bytes. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.