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