pub struct Backtrace { /* private fields */ }
Expand description
捕获的 OS 线程栈回溯。
此类型表示在先前时间点捕获的 OS 线程的栈回溯。
在某些情况下,由于配置,Backtrace
类型在内部可能为空。
有关更多信息,请参见 Backtrace::capture
。
Implementations§
source§impl Backtrace
impl Backtrace
sourcepub fn capture() -> Backtrace
pub fn capture() -> Backtrace
捕获当前线程的栈回溯。
此函数将捕获当前 OS 执行线程的栈回溯,并返回 Backtrace
类型,该类型以后可用于打印整个栈跟踪或将其呈现为字符串。
如果没有同时设置 RUST_BACKTRACE
或 RUST_LIB_BACKTRACE
backtrace 变量,则此函数将为 noop。
如果设置并启用了任何一个环境变量,则此函数实际上将捕获回溯。
捕获回溯可能会占用大量内存并且速度很慢,因此这些环境变量允许自由使用 Backtrace::capture
,并且仅在设置环境变量时才会导致速度降低。
要强制捕获回溯,而不管环境变量如何,请使用 Backtrace::force_capture
函数。
sourcepub fn force_capture() -> Backtrace
pub fn force_capture() -> Backtrace
无论环境变量配置如何,都将强制捕获完整的回溯。
此函数的行为与 capture
相同,不同之处在于它忽略 RUST_BACKTRACE
和 RUST_LIB_BACKTRACE
环境变量的值,始终捕获回溯。
请注意,在某些平台上,捕获回溯可能是一项昂贵的操作,因此在对性能敏感的代码部分中应谨慎使用。
sourcepub fn status(&self) -> BacktraceStatus
pub fn status(&self) -> BacktraceStatus
返回此回溯的状态,指示此回溯请求是否不受支持,已禁用或是否实际捕获了栈跟踪。
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
从拥有的值中借用。 Read more