backtrace-rs
backtrace-rs copied to clipboard
Backtraces in Rust
I'm not really sure if libbacktrace supports this and if so how well. This is at least a placeholder to audit what happens tody with libbacktrace and switch gimli over...
This PR adds a test that triggers https://github.com/rust-lang/backtrace-rs/issues/356 . For me, currently the added test fails on macOS with SIGSEGV but not Linux: ``` Running target/release/deps/stack_overflow-8c961da828d1b0c2 Before stack overflow Backtrace...
I wanted to use this library in a `no_std` environment, but it doesn't compile because of the `miniz_oxide` crate. If I see it correctly in `Cargo.toml` and `lib.rs`, this crate...
The current address obtained through `Frame::ip` is meaningless in production environment without debuginfo. The lack of a base address prevents us from resolve symbol afterwards. We have two solutions to...
``` OS Version: windows None (None) Report Version: 104 Application Specific Information: assertion failed: `(left == right)` left: `128`, right: `0` Thread 0 Crashed: 0 std 0x7ff7e6d46b7c std::panicking::begin_panic_fmt (panicking.rs:437) 1...
(from https://github.com/rust-lang/backtrace-rs/issues/410#issuecomment-832871699) It would be really nice to see support for `.gnu_debugdata`, which contains compressed symbol tables. For example, the elfutils command `eu-readelf --elf-section -s file...` can read this. https://fedoraproject.org/wiki/Features/MiniDebugInfo...
It would be really convenient to be able to trace the stack starting with a signal-handler's context, at least on posix platforms which support this. Is there a way to...
```bash $ git clone https://github.com/jrmuizel/bt-test/ $ cd bt-test $ RUST_BACKTRACE=1 cargo run thread 'main' panicked at 'food', src/main.rs:15:9 stack backtrace: 0: std::panicking::begin_panic at /Users/jrmuizel/.rustup/toolchains/1.47.0-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:497 1: ::drop at ./src/main.rs:15 2: core::ptr::drop_in_place...
The `uclibc` environment lacks some of the functionality required by the `gimli` module. This PR works around those shortcomings.
This is alternative proposal for #291 or #288. The difference is that the registers content only accessible during `trace()` function. This means that all responsibility of saving registers values falls...