Struct crash_handler::CrashContext 
source · pub struct CrashContext {
    pub context: ucontext_t,
    pub float_state: fpregset_t,
    pub siginfo: signalfd_siginfo,
    pub pid: i32,
    pub tid: i32,
}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: i32The id of the crashing process
tid: i32The id of the crashing thread
Implementations
sourceimpl CrashContext
 
impl CrashContext
pub fn as_bytes(&self) -> &[u8] ⓘ
pub fn from_bytes(bytes: &[u8]) -> Option<CrashContext>
Trait Implementations
sourceimpl Clone for CrashContext
 
impl Clone for CrashContext
sourcefn clone(&self) -> CrashContext
 
fn clone(&self) -> CrashContext
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read more