rust-lang / rust-lang/backtrace-rs
Make frame address meaningful without debuginfo
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 628
- Forks
- 291
- PR merge metrics
- No merged PRs in 30d
Description
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 this problem.
- Expose
backtrace::symbolize::native_libraries, which will allow users to record all loaded libs, and users can get bais from them. but this may reveal too many details. - Add a
backtrace::resolve2or makebacktrace::resolvereturn the correct svma and library name even without debuginfo.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the current behavior of Frame::ip and backtrace::resolve, then compare it with the proposed symbolize::native_libraries API. Determine whether the change should expose loaded-library bases or make resolve return an SVMA and library name without debuginfo. Done means one agreed API behavior is implemented and verified for production addresses without debuginfo.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100