为什么即使设置了RUST_BACKTRACE = 1,我的程序出现分段错误时也没有回溯?

gar*_*ary 4 segmentation-fault rust

我想看到随机分段错误的回溯,所以我设置了RUST_BACKTRACE=1环境变量.通常它会打印回溯信息,但这次没有.为什么不起作用RUST_BACKTRACE

$ RUST_BACKTRACE=1 ./target/debug/grin-miner
...
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)

我已多次尝试并且始终没有回溯.如果错误发生在外部库中,是否可以RUST_BACKTRACE完成工作?

She*_*ter 6

RUST_BACKTRACE只打印出Rust生成的恐慌的回溯.段错误是低级别的失败,而不是恐慌.您需要使用调试器(GDB,LLDB,WinDbg等)来调查失败.

  • 谢谢谢普大师。我切换到 lldb 并获取回溯。`$ rust-lldb ./target/debug/grin-miner` 然后当发生 `Segmentation failure` 时,输入 `thread backtrace` (2认同)