Struct minidump_processor::ExceptionInfo
source · pub struct ExceptionInfo {
pub reason: CrashReason,
pub address: Address,
pub adjusted_address: Option<AdjustedAddress>,
pub instruction_str: Option<String>,
pub memory_accesses: Option<Vec<MemoryAccess>>,
pub possible_bit_flips: Vec<PossibleBitFlip>,
}Expand description
Info about an exception that may have occurred
May not be available if the minidump wasn’t triggered by an exception, or if required info about the exception is missing
Fields§
§reason: CrashReasona CrashReason describing the crash reason.
address: AddressThe memory address implicated in the crash.
If the crash reason implicates memory, this is the memory address that caused the crash. For data access errors this will be the data address that caused the fault. For code errors, this will be the address of the instruction that caused the fault.
adjusted_address: Option<AdjustedAddress>In certain circumstances, the previous address member may report a sub-optimal value
for debugging purposes. If instruction analysis is able to successfully determine a
more helpful value, it will be reported here.
instruction_str: Option<String>A string representing the crashing instruction (if available)
memory_accesses: Option<Vec<MemoryAccess>>A list of memory accesses performed by crashing instruction (if available)
possible_bit_flips: Vec<PossibleBitFlip>Possible valid addresses which are one flipped bit away from the crashing address or adjusted address.
The original address was possibly the result of faulty hardware, alpha particles, etc.
Trait Implementations§
source§impl Clone for ExceptionInfo
impl Clone for ExceptionInfo
source§fn clone(&self) -> ExceptionInfo
fn clone(&self) -> ExceptionInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ExceptionInfo
impl RefUnwindSafe for ExceptionInfo
impl Send for ExceptionInfo
impl Sync for ExceptionInfo
impl Unpin for ExceptionInfo
impl UnwindSafe for ExceptionInfo
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)