Enum zx::ExceptionType
source · pub enum ExceptionType {
Show 13 variants
General,
FatalPageFault {
status: Status,
},
UndefinedInstruction,
SoftwareBreakpoint,
HardwareBreakpoint,
UnalignedAccess,
ThreadStarting,
ThreadExiting,
PolicyError(PolicyCode),
ProcessStarting,
ProcessNameChanged,
UnknownUserGenerated {
code: u32,
data: u32,
},
Unknown {
ty: u32,
code: u32,
data: u32,
},
}
Expand description
The type of an exception observed.
Variants§
General
A general exception occurred.
FatalPageFault
The process generated an unhandled page fault.
UndefinedInstruction
The process attempted to execute an undefined CPU instruction.
SoftwareBreakpoint
A software breakpoint was reached by the process.
HardwareBreakpoint
A hardware breakpoint was reached by the process.
UnalignedAccess
The process attempted to perform an unaligned memory access.
ThreadStarting
A thread is starting.
This exception is sent to debuggers only (ZX_EXCEPTION_CHANNEL_TYPE_DEBUGGER). The thread that generates this exception is paused until it the debugger handles the exception.
ThreadExiting
A thread is exiting.
This exception is sent to debuggers only (ZX_EXCEPTION_CHANNEL_TYPE_DEBUGGER).
This exception is different from ZX_EXCP_GONE in that a debugger can still examine thread state.
The thread that generates this exception is paused until it the debugger handles the exception.
PolicyError(PolicyCode)
This exception is generated when a syscall fails with a job policy error (for example, an invalid handle argument is passed to the syscall when the ZX_POL_BAD_HANDLE policy is enabled) and ZX_POL_ACTION_EXCEPTION is set for the policy. The thread that generates this exception is paused until it the debugger handles the exception. Additional data about the type of policy error can be found in the |synth_code| field of the report and will be a ZX_EXCP_POLICY_CODE_* value.
ProcessStarting
A process is starting.
This exception is sent to job debuggers only (ZX_EXCEPTION_CHANNEL_TYPE_JOB_DEBUGGER).
The thread that generates this exception is paused until it the debugger handles the exception.
ProcessNameChanged
A user-generated exception indicating to a debugger that the process’ name has changed.
UnknownUserGenerated
The exception was user-generated but of an unknown type.
Unknown
An unknown exception type.
Trait Implementations§
source§impl Clone for ExceptionType
impl Clone for ExceptionType
source§fn clone(&self) -> ExceptionType
fn clone(&self) -> ExceptionType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExceptionType
impl Debug for ExceptionType
impl Copy for ExceptionType
Auto Trait Implementations§
impl Freeze for ExceptionType
impl RefUnwindSafe for ExceptionType
impl Send for ExceptionType
impl Sync for ExceptionType
impl Unpin for ExceptionType
impl UnwindSafe for ExceptionType
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
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)