Struct std::backtrace::Backtrace

1.65.0 · source ·
pub struct Backtrace { /* private fields */ }
Expand description

捕获的 OS 线程栈回溯。

此类型表示在先前时间点捕获的 OS 线程的栈回溯。 在某些情况下,由于配置,Backtrace 类型在内部可能为空。 有关更多信息,请参见 Backtrace::capture

Implementations§

source§

impl Backtrace

source

pub fn capture() -> Backtrace

捕获当前线程的栈回溯。

此函数将捕获当前 OS 执行线程的栈回溯,并返回 Backtrace 类型,该类型以后可用于打印整个栈跟踪或将其呈现为字符串。

如果没有同时设置 RUST_BACKTRACERUST_LIB_BACKTRACE backtrace 变量,则此函数将为 noop。 如果设置并启用了任何一个环境变量,则此函数实际上将捕获回溯。 捕获回溯可能会占用大量内存并且速度很慢,因此这些环境变量允许自由使用 Backtrace::capture,并且仅在设置环境变量时才会导致速度降低。

要强制捕获回溯,而不管环境变量如何,请使用 Backtrace::force_capture 函数。

source

pub fn force_capture() -> Backtrace

无论环境变量配置如何,都将强制捕获完整的回溯。

此函数的行为与 capture 相同,不同之处在于它忽略 RUST_BACKTRACERUST_LIB_BACKTRACE 环境变量的值,始终捕获回溯。

请注意,在某些平台上,捕获回溯可能是一项昂贵的操作,因此在对性能敏感的代码部分中应谨慎使用。

const: 1.65.0 · source

pub const fn disabled() -> Backtrace

无论环境变量配置如何,都将强制捕获禁用的回溯。

source

pub fn status(&self) -> BacktraceStatus

返回此回溯的状态,指示此回溯请求是否不受支持,已禁用或是否实际捕获了栈跟踪。

source§

impl<'a> Backtrace

source

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

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

返回回溯帧上的迭代器。

Trait Implementations§

source§

impl Debug for Backtrace

source§

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

使用给定的格式化程序格式化该值。 Read more
source§

impl Display for Backtrace

source§

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

使用给定的格式化程序格式化该值。 Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

获取 selfTypeIdRead more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

从拥有的值中一成不变地借用。 Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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

从拥有的值中借用。 Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

返回未更改的参数。

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

调用 U::from(self)

也就是说,这种转换是 From<T> for U 实现选择执行的任何操作。

source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

将给定值转换为 StringRead more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

发生转换错误时返回的类型。
source§

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

执行转换。
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

发生转换错误时返回的类型。
source§

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

执行转换。