Struct crash_context::CrashContext
source · [−]#[repr(C)]pub struct CrashContext {
pub context: ucontext_t,
pub float_state: fpregset_t,
pub siginfo: signalfd_siginfo,
pub pid: pid_t,
pub tid: pid_t,
}Expand description
The full context for a Linux/Android crash
Fields
context: ucontext_tCrashing thread context.
Note that we use [crate::ucontext_t] instead of libc::ucontext_t
as libc’s differs between glibc and musl https://github.com/rust-lang/libc/pull/1646
even though the ucontext_t received from a signal will be the same
regardless of the libc implementation used as it is only arch specific
and not libc specific
Note that we hide ucontext_t::uc_link as it is a pointer and thus can’t
be accessed in a process other than the one the CrashContext was created
in. This is a just a self-reference so is not useful in practice.
Note that the same applies to [mcontext_t::fpregs], but since that points
to floating point registers and is interesting to read in another process,
those registers available as Self::float_state, except on the arm
architecture since they aren’t part of mcontext_t at all.
float_state: fpregset_tState of floating point registers.
This isn’t part of the user ABI for Linux arm
siginfo: signalfd_siginfoThe signal info for the crash
pid: pid_tThe id of the crashing process
tid: pid_tThe id of the crashing thread
Implementations
Trait Implementations
sourceimpl Clone for CrashContext
impl Clone for CrashContext
sourcefn clone(&self) -> CrashContext
fn clone(&self) -> CrashContext
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
impl Send for CrashContext
Auto Trait Implementations
impl RefUnwindSafe for CrashContext
impl !Sync for CrashContext
impl Unpin for CrashContext
impl UnwindSafe for CrashContext
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