#[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_t

Crashing 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_t

State of floating point registers.

This isn’t part of the user ABI for Linux arm

siginfo: signalfd_siginfo

The signal info for the crash

pid: pid_t

The id of the crashing process

tid: pid_t

The id of the crashing thread

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.