Enum minidump::CrashReason [−][src]
pub enum CrashReason {
Show 28 variants
MacGeneral(ExceptionCodeMac, u32),
MacBadAccessKern(ExceptionCodeMacBadAccessKernType),
MacBadAccessArm(ExceptionCodeMacBadAccessArmType),
MacBadAccessPpc(ExceptionCodeMacBadAccessPpcType),
MacBadAccessX86(ExceptionCodeMacBadAccessX86Type),
MacBadInstructionArm(ExceptionCodeMacBadInstructionArmType),
MacBadInstructionPpc(ExceptionCodeMacBadInstructionPpcType),
MacBadInstructionX86(ExceptionCodeMacBadInstructionX86Type),
MacArithmeticPpc(ExceptionCodeMacArithmeticPpcType),
MacArithmeticX86(ExceptionCodeMacArithmeticX86Type),
MacSoftware(ExceptionCodeMacSoftwareType),
MacBreakpointArm(ExceptionCodeMacBreakpointArmType),
MacBreakpointPpc(ExceptionCodeMacBreakpointPpcType),
MacBreakpointX86(ExceptionCodeMacBreakpointX86Type),
MacResource(ExceptionCodeMacResourceType, u64, u64),
LinuxGeneral(ExceptionCodeLinux, u32),
LinuxSigill(ExceptionCodeLinuxSigillKind),
LinuxSigbus(ExceptionCodeLinuxSigbusKind),
LinuxSigfpe(ExceptionCodeLinuxSigfpeKind),
LinuxSigsegv(ExceptionCodeLinuxSigsegvKind),
WindowsGeneral(ExceptionCodeWindows),
WindowsWinError(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)
Tuple Fields
MacBadAccessArm(ExceptionCodeMacBadAccessArmType)
Tuple Fields
MacBadAccessPpc(ExceptionCodeMacBadAccessPpcType)
Tuple Fields
MacBadAccessX86(ExceptionCodeMacBadAccessX86Type)
Tuple Fields
MacBadInstructionArm(ExceptionCodeMacBadInstructionArmType)
Tuple Fields
MacBadInstructionPpc(ExceptionCodeMacBadInstructionPpcType)
Tuple Fields
MacBadInstructionX86(ExceptionCodeMacBadInstructionX86Type)
Tuple Fields
MacArithmeticPpc(ExceptionCodeMacArithmeticPpcType)
Tuple Fields
MacArithmeticX86(ExceptionCodeMacArithmeticX86Type)
Tuple Fields
MacSoftware(ExceptionCodeMacSoftwareType)
Tuple Fields
MacBreakpointArm(ExceptionCodeMacBreakpointArmType)
Tuple Fields
MacBreakpointPpc(ExceptionCodeMacBreakpointPpcType)
Tuple Fields
MacBreakpointX86(ExceptionCodeMacBreakpointX86Type)
Tuple Fields
MacResource(ExceptionCodeMacResourceType, u64, u64)
LinuxGeneral(ExceptionCodeLinux, u32)
A Linux/Android error code with no other interesting metadata.
LinuxSigill(ExceptionCodeLinuxSigillKind)
Tuple Fields
LinuxSigbus(ExceptionCodeLinuxSigbusKind)
Tuple Fields
LinuxSigfpe(ExceptionCodeLinuxSigfpeKind)
Tuple Fields
LinuxSigsegv(ExceptionCodeLinuxSigsegvKind)
Tuple Fields
WindowsGeneral(ExceptionCodeWindows)
Tuple Fields
A Windows error code with no other interesting metadata.
WindowsWinError(WinErrorWindows)
Tuple Fields
A Windows error from winerror.h.
WindowsNtStatus(NtStatusWindows)
Tuple Fields
A Windows error from ntstatus.h
WindowsAccessViolation(ExceptionCodeWindowsAccessType)
Tuple Fields
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)
Tuple Fields
0: u64
ExceptionCodeWindows::EXCEPTION_STACK_BUFFER_OVERRUN with an accompanying windows FAST_FAIL value.
WindowsUnknown(u32)
Tuple Fields
0: u32
A Windows error with no known mapping.
Unknown(u32, u32)
Implementations
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.
Heuristically identifies what kind of windows error code this is.
Appropriate for things like LastErrorValue() which may be non-fatal.
pub fn from_windows_exception(
raw: &MINIDUMP_EXCEPTION_STREAM,
_cpu: Cpu
) -> Option<CrashReason>
pub fn from_linux_exception(
raw: &MINIDUMP_EXCEPTION_STREAM,
_cpu: Cpu
) -> Option<CrashReason>
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for CrashReason
impl Send for CrashReason
impl Sync for CrashReason
impl Unpin for CrashReason
impl UnwindSafe for CrashReason
Blanket Implementations
Mutably borrows from an owned value. Read more