Enum minidump::CrashReason
source · pub enum CrashReason {
Show 33 variants
MacGeneral(ExceptionCodeMac, u32),
MacBadAccessKern(ExceptionCodeMacBadAccessKernType),
MacBadAccessArm(ExceptionCodeMacBadAccessArmType),
MacBadAccessPpc(ExceptionCodeMacBadAccessPpcType),
MacBadAccessX86(ExceptionCodeMacBadAccessX86Type),
MacBadInstructionArm(ExceptionCodeMacBadInstructionArmType),
MacBadInstructionPpc(ExceptionCodeMacBadInstructionPpcType),
MacBadInstructionX86(ExceptionCodeMacBadInstructionX86Type),
MacArithmeticArm(ExceptionCodeMacArithmeticArmType),
MacArithmeticPpc(ExceptionCodeMacArithmeticPpcType),
MacArithmeticX86(ExceptionCodeMacArithmeticX86Type),
MacSoftware(ExceptionCodeMacSoftwareType),
MacBreakpointArm(ExceptionCodeMacBreakpointArmType),
MacBreakpointPpc(ExceptionCodeMacBreakpointPpcType),
MacBreakpointX86(ExceptionCodeMacBreakpointX86Type),
MacResource(ExceptionCodeMacResourceType, u64, u64),
MacGuard(ExceptionCodeMacGuardType, u64, u64),
LinuxGeneral(ExceptionCodeLinux, u32),
LinuxSigill(ExceptionCodeLinuxSigillKind),
LinuxSigtrap(ExceptionCodeLinuxSigtrapKind),
LinuxSigbus(ExceptionCodeLinuxSigbusKind),
LinuxSigfpe(ExceptionCodeLinuxSigfpeKind),
LinuxSigsegv(ExceptionCodeLinuxSigsegvKind),
LinuxSigsys(ExceptionCodeLinuxSigsysKind),
WindowsGeneral(ExceptionCodeWindows),
WindowsWinError(WinErrorWindows),
WindowsWinErrorWithFacility(WinErrorFacilityWindows, WinErrorWindows),
WindowsNtStatus(NtStatusWindows),
WindowsAccessViolation(ExceptionCodeWindowsAccessType),
WindowsInPageError(ExceptionCodeWindowsInPageErrorType, u64),
WindowsStackBufferOverrun(u64),
WindowsUnknown(u32),
Unknown(u32, u32),
}
Expand description
The reason for a process crash.
Variants§
MacGeneral(ExceptionCodeMac, u32)
A Mac/iOS error code with no other interesting details.
MacBadAccessKern(ExceptionCodeMacBadAccessKernType)
MacBadAccessArm(ExceptionCodeMacBadAccessArmType)
MacBadAccessPpc(ExceptionCodeMacBadAccessPpcType)
MacBadAccessX86(ExceptionCodeMacBadAccessX86Type)
MacBadInstructionArm(ExceptionCodeMacBadInstructionArmType)
MacBadInstructionPpc(ExceptionCodeMacBadInstructionPpcType)
MacBadInstructionX86(ExceptionCodeMacBadInstructionX86Type)
MacArithmeticArm(ExceptionCodeMacArithmeticArmType)
MacArithmeticPpc(ExceptionCodeMacArithmeticPpcType)
MacArithmeticX86(ExceptionCodeMacArithmeticX86Type)
MacSoftware(ExceptionCodeMacSoftwareType)
MacBreakpointArm(ExceptionCodeMacBreakpointArmType)
MacBreakpointPpc(ExceptionCodeMacBreakpointPpcType)
MacBreakpointX86(ExceptionCodeMacBreakpointX86Type)
MacResource(ExceptionCodeMacResourceType, u64, u64)
MacGuard(ExceptionCodeMacGuardType, u64, u64)
LinuxGeneral(ExceptionCodeLinux, u32)
A Linux/Android error code with no other interesting metadata.
LinuxSigill(ExceptionCodeLinuxSigillKind)
LinuxSigtrap(ExceptionCodeLinuxSigtrapKind)
LinuxSigbus(ExceptionCodeLinuxSigbusKind)
LinuxSigfpe(ExceptionCodeLinuxSigfpeKind)
LinuxSigsegv(ExceptionCodeLinuxSigsegvKind)
LinuxSigsys(ExceptionCodeLinuxSigsysKind)
WindowsGeneral(ExceptionCodeWindows)
A Windows error code with no other interesting metadata.
WindowsWinError(WinErrorWindows)
A Windows error from winerror.h.
WindowsWinErrorWithFacility(WinErrorFacilityWindows, WinErrorWindows)
A Windows error for a specific facility from winerror.h.
WindowsNtStatus(NtStatusWindows)
A Windows error from ntstatus.h
WindowsAccessViolation(ExceptionCodeWindowsAccessType)
ExceptionCodeWindows::EXCEPTION_ACCESS_VIOLATION but with details on the kind of access.
WindowsInPageError(ExceptionCodeWindowsInPageErrorType, u64)
ExceptionCodeWindows::EXCEPTION_IN_PAGE_ERROR but with details on the kind of access. Second argument is a windows NTSTATUS value.
WindowsStackBufferOverrun(u64)
ExceptionCodeWindows::EXCEPTION_STACK_BUFFER_OVERRUN with an accompanying windows FAST_FAIL value.
WindowsUnknown(u32)
A Windows error with no known mapping.
Unknown(u32, u32)
Implementations§
source§impl CrashReason
impl CrashReason
sourcepub fn from_windows_code(exception_code: u32) -> CrashReason
pub fn from_windows_code(exception_code: u32) -> CrashReason
Heuristically identifies what kind of windows exception code this is.
Augments CrashReason::from_windows_error
by also including
ExceptionCodeWindows
. Appropriate for an actual crash reason.
sourcepub fn from_windows_error(error_code: u32) -> CrashReason
pub fn from_windows_error(error_code: u32) -> CrashReason
Heuristically identifies what kind of windows error code this is.
Appropriate for things like LastErrorValue() which may be non-fatal.
pub fn from_windows_error_with_facility(error_code: u32) -> Option<CrashReason>
pub fn from_windows_exception( raw: &MINIDUMP_EXCEPTION_STREAM, _cpu: Cpu ) -> Option<CrashReason>
pub fn from_mac_exception( raw: &MINIDUMP_EXCEPTION_STREAM, cpu: Cpu ) -> Option<CrashReason>
pub fn from_linux_exception( raw: &MINIDUMP_EXCEPTION_STREAM, _cpu: Cpu ) -> Option<CrashReason>
Trait Implementations§
source§impl Clone for CrashReason
impl Clone for CrashReason
source§fn clone(&self) -> CrashReason
fn clone(&self) -> CrashReason
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CrashReason
impl Debug for CrashReason
source§impl Display for CrashReason
impl Display for CrashReason
source§impl PartialEq for CrashReason
impl PartialEq for CrashReason
source§fn eq(&self, other: &CrashReason) -> bool
fn eq(&self, other: &CrashReason) -> bool
self
and other
values to be equal, and is used
by ==
.