pub struct Backtrace { /* private fields */ }Expand description
A captured OS thread stack backtrace.
This type represents a stack backtrace for an OS thread captured at a
previous point in time. In some instances the Backtrace type may
internally be empty due to configuration. For more information see
Backtrace::capture.
Implementations
sourceimpl Backtrace
impl Backtrace
sourcepub fn capture() -> Backtrace
pub fn capture() -> Backtrace
Capture a stack backtrace of the current thread.
This function will capture a stack backtrace of the current OS thread of
execution, returning a Backtrace type which can be later used to print
the entire stack trace or render it to a string.
This function will be a noop if the RUST_BACKTRACE or
RUST_LIB_BACKTRACE backtrace variables are both not set. If either
environment variable is set and enabled then this function will actually
capture a backtrace. Capturing a backtrace can be both memory intensive
and slow, so these environment variables allow liberally using
Backtrace::capture and only incurring a slowdown when the environment
variables are set.
To forcibly capture a backtrace regardless of environment variables, use
the Backtrace::force_capture function.
sourcepub fn force_capture() -> Backtrace
pub fn force_capture() -> Backtrace
Forcibly captures a full backtrace, regardless of environment variable configuration.
This function behaves the same as capture except that it ignores the
values of the RUST_BACKTRACE and RUST_LIB_BACKTRACE environment
variables, always capturing a backtrace.
Note that capturing a backtrace can be an expensive operation on some platforms, so this should be used with caution in performance-sensitive parts of code.
sourcepub const fn disabled() -> Backtrace
pub const fn disabled() -> Backtrace
Forcibly captures a disabled backtrace, regardless of environment variable configuration.
sourcepub fn status(&self) -> BacktraceStatus
pub fn status(&self) -> BacktraceStatus
Returns the status of this backtrace, indicating whether this backtrace request was unsupported, disabled, or a stack trace was actually captured.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Backtrace
impl Send for Backtrace
impl Sync for Backtrace
impl Unpin for Backtrace
impl UnwindSafe for Backtrace
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