pub struct Backtrace { /* fields omitted */ }
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
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.
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.
Forcibly captures a disabled backtrace, regardless of environment variable configuration.
Returns the status of this backtrace, indicating whether this backtrace request was unsupported, disabled, or a stack trace was actually captured.