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.
Tuple Fields of MacGeneral
0: ExceptionCodeMac
1: u32
MacBadAccessKern(ExceptionCodeMacBadAccessKernType)
Tuple Fields of MacBadAccessKern
MacBadAccessArm(ExceptionCodeMacBadAccessArmType)
Tuple Fields of MacBadAccessArm
MacBadAccessPpc(ExceptionCodeMacBadAccessPpcType)
Tuple Fields of MacBadAccessPpc
MacBadAccessX86(ExceptionCodeMacBadAccessX86Type)
Tuple Fields of MacBadAccessX86
MacBadInstructionArm(ExceptionCodeMacBadInstructionArmType)
Tuple Fields of MacBadInstructionArm
MacBadInstructionPpc(ExceptionCodeMacBadInstructionPpcType)
Tuple Fields of MacBadInstructionPpc
MacBadInstructionX86(ExceptionCodeMacBadInstructionX86Type)
Tuple Fields of MacBadInstructionX86
MacArithmeticPpc(ExceptionCodeMacArithmeticPpcType)
Tuple Fields of MacArithmeticPpc
MacArithmeticX86(ExceptionCodeMacArithmeticX86Type)
Tuple Fields of MacArithmeticX86
MacSoftware(ExceptionCodeMacSoftwareType)
Tuple Fields of MacSoftware
MacBreakpointArm(ExceptionCodeMacBreakpointArmType)
Tuple Fields of MacBreakpointArm
MacBreakpointPpc(ExceptionCodeMacBreakpointPpcType)
Tuple Fields of MacBreakpointPpc
MacBreakpointX86(ExceptionCodeMacBreakpointX86Type)
Tuple Fields of MacBreakpointX86
MacResource(ExceptionCodeMacResourceType, u64, u64)
Tuple Fields of MacResource
LinuxGeneral(ExceptionCodeLinux, u32)
A Linux/Android error code with no other interesting metadata.
Tuple Fields of LinuxGeneral
0: ExceptionCodeLinux
1: u32
LinuxSigill(ExceptionCodeLinuxSigillKind)
Tuple Fields of LinuxSigill
LinuxSigbus(ExceptionCodeLinuxSigbusKind)
Tuple Fields of LinuxSigbus
LinuxSigfpe(ExceptionCodeLinuxSigfpeKind)
Tuple Fields of LinuxSigfpe
LinuxSigsegv(ExceptionCodeLinuxSigsegvKind)
Tuple Fields of LinuxSigsegv
WindowsGeneral(ExceptionCodeWindows)
A Windows error code with no other interesting metadata.
Tuple Fields of WindowsGeneral
WindowsWinError(WinErrorWindows)
A Windows error from winerror.h.
Tuple Fields of WindowsWinError
WindowsNtStatus(NtStatusWindows)
A Windows error from ntstatus.h
Tuple Fields of WindowsNtStatus
WindowsAccessViolation(ExceptionCodeWindowsAccessType)
ExceptionCodeWindows::EXCEPTION_ACCESS_VIOLATION but with details on the kind of access.
Tuple Fields of WindowsAccessViolation
WindowsInPageError(ExceptionCodeWindowsInPageErrorType, u64)
ExceptionCodeWindows::EXCEPTION_IN_PAGE_ERROR but with details on the kind of access. Second argument is a windows NTSTATUS value.
Tuple Fields of WindowsInPageError
WindowsStackBufferOverrun(u64)
ExceptionCodeWindows::EXCEPTION_STACK_BUFFER_OVERRUN with an accompanying windows FAST_FAIL value.
Tuple Fields of WindowsStackBufferOverrun
0: u64
WindowsUnknown(u32)
A Windows error with no known mapping.
Tuple Fields of WindowsUnknown
0: 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