Enum minidump::CrashReason
source · [−]pub enum CrashReason {
Show 31 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),
MacGuard(ExceptionCodeMacGuardType, u64, u64),
LinuxGeneral(ExceptionCodeLinux, u32),
LinuxSigill(ExceptionCodeLinuxSigillKind),
LinuxSigtrap(ExceptionCodeLinuxSigtrapKind),
LinuxSigbus(ExceptionCodeLinuxSigbusKind),
LinuxSigfpe(ExceptionCodeLinuxSigfpeKind),
LinuxSigsegv(ExceptionCodeLinuxSigsegvKind),
LinuxSigsys(ExceptionCodeLinuxSigsysKind),
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)
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)
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.
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
sourceimpl 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_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
sourceimpl Clone for CrashReason
impl Clone for CrashReason
sourcefn clone(&self) -> CrashReason
fn clone(&self) -> CrashReason
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for CrashReason
impl Debug for CrashReason
sourceimpl Display for CrashReason
impl Display for CrashReason
sourceimpl PartialEq<CrashReason> for CrashReason
impl PartialEq<CrashReason> for CrashReason
sourcefn eq(&self, other: &CrashReason) -> bool
fn eq(&self, other: &CrashReason) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &CrashReason) -> bool
fn ne(&self, other: &CrashReason) -> bool
This method tests for !=
.
impl Copy for CrashReason
impl StructuralPartialEq for CrashReason
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more