パニックにならずにバックトレースを印刷することは可能ですか (RUST_BACKTRACE が有効になっていると仮定)? それを実行する唯一の方法は、 を介して呼び出すことのようですpanic!
。そうでない場合、それには理由がありますか?
ベストアンサー1
std::backtrace::Backtrace
rust 1.65.0 以降で使用できます:
use std::backtrace::Backtrace;
fn main() {
// Print backtrace if either RUST_BACKTRACE or RUST_LIB_BACKTRACE is set
println!("Custom backtrace: {}", Backtrace::capture());
// or forcibly capture the backtrace regardless of environment variable configuration
println!("Custom backtrace: {}", Backtrace::force_capture());
}
ドキュメンテーション:https://doc.rust-lang.org/std/backtrace/struct.Backtrace.html