Struct std::backtrace::Backtrace[][src]

pub struct Backtrace { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (backtrace #53487)

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

impl Backtrace[src]

pub fn capture() -> Backtrace[src]

🔬 This is a nightly-only experimental API. (backtrace #53487)

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.

pub fn force_capture() -> Backtrace[src]

🔬 This is a nightly-only experimental API. (backtrace #53487)

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.

pub const fn disabled() -> Backtrace[src]

🔬 This is a nightly-only experimental API. (backtrace #53487)

Forcibly captures a disabled backtrace, regardless of environment variable configuration.

pub fn status(&self) -> BacktraceStatus[src]

🔬 This is a nightly-only experimental API. (backtrace #53487)

Returns the status of this backtrace, indicating whether this backtrace request was unsupported, disabled, or a stack trace was actually captured.

impl<'a> Backtrace[src]

pub fn frames(&'a self) -> &'a [BacktraceFrame]

Notable traits for &[u8]

impl Read for &[u8]impl Write for &mut [u8]
[src]

🔬 This is a nightly-only experimental API. (backtrace_frames #79676)

Returns an iterator over the backtrace frames.

Trait Implementations

impl Debug for Backtrace[src]

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Display for Backtrace[src]

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.