backtrace-rs
backtrace-rs copied to clipboard
Backtraces in Rust
Because backtrace-rs is included as a submodule and has platform-specific code, this lint is currently allowed inside std. I intend to remove this `allow` in std for this crate, and...
A conservative "stop looking" heuristic would prevent the regressions in https://github.com/rust-lang/rust/issues/119560 from surfacing.
i found this comment in libstd: https://github.com/rust-lang/rust/blob/59a4f02f836f74c4cf08f47d76c9f6069a2f8276/library/std/src/sys/backtrace.rs#L20-L48 ```rust // Use a lock to prevent mixed output in multithreading context. // Some platforms also requires it, like `SymFromAddr` on Windows. ```...
# feat should document on how to support backtrace when size optimize ## reproduce ```rs fn show_backtrace() { let backtrace = backtrace::Backtrace::new(); eprintln!("backtrace::Backtrace {:?}", backtrace); } fn f4() { show_backtrace()...
* Be more consistent about avoiding imports of core and alloc types through mystd. * Avoid two unnecessary allocations in `handle_split_dwarf`. * Couple of other minor changes.
Supercedes #667 Document safety preconditions and reasoning for why they're followed. I'd like to push the unsafety down another level, or just remove the `mmap` function (make `Mmap` a common...
Noticed while considering `backtrace_in_libstd`, figured it was worth making it more clear which imports *needed* std, and removing some pointless casting and such.
My understanding is that currently the /proc/self/maps implementation on Hurd exposes _memory objects_ via their relevant mach ports as the "path", like `[mem_obj={port_num}]`. This seems like it might provide us...
The 6.11 linux kernel added a [new ioctl interface](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c10cb9148e51) to the maps file that allows more efficient querying of the mapped memory ranges. Depending on how much time is spent...
The basic strategy for backtrace symbolication on Linux: - We use a combination of `dl_iterate_phdr` and opening `/proc/self/maps` to learn about what memory objects are loaded - We obtain a...