Rust でパニックにならずにバックトレースを出力することは可能ですか? 質問する

Rust でパニックにならずにバックトレースを出力することは可能ですか? 質問する

パニックにならずにバックトレースを印刷することは可能ですか (RUST_BACKTRACE が有効になっていると仮定)? それを実行する唯一の方法は、 を介して呼び出すことのようですpanic!。そうでない場合、それには理由がありますか?

ベストアンサー1

std::backtrace::Backtracerust 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

おすすめ記事