---
tags: debugging
---
# wg-debugging 2022-12-05 meeting
## Agenda
- Next upcoming meeting: Triage meeting on Mon, December 19th, 10am ET.
- Text meeting in Zulip channel.
- Last triage meeting we covered 5 issues.
- Next status & design meeting: Wed, January 4th, 12pm ET.
- We could also consider skipping with holidays/vacations/etc.
## Recent updates
- Merged: [llvm: dwo only emitted when object code emitted](https://github.com/rust-lang/rust/pull/104105)
- Fixes [linux split-dwarf fails with -Clinker-plugin-lto](https://github.com/rust-lang/rust/pull/103932)
- Thanks @davidtwco
- In progress: [Fix variable debuginfo being optimized away at mir-opt-level=2](https://github.com/rust-lang/rust/pull/103657)
- 0.3% - 1.6% compiler throughput cost on builds with debuginfo enabled
- Related Zulip discussion in #wg-mir-opt: [Revisiting MIR opt levels](https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Revisiting.20MIR.20opt.20levels)
- Others?
Notes:
- jswrenn has been working on a crate for DWARF based reflection
- https://github.com/jswrenn/deflect
- https://rust-lang.zulipchat.com/#narrow/stream/317568-t-compiler.2Fwg-debugging/topic/DWARF-directed.20reflection
- mw has been working on a gdb python script that can traverse a graph of async tasks and provide a "backtrace"
- https://github.com/michaelwoerister/rust-dbg-ext/tree/async-stack-traces-wip
- https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async/topic/Async.20stack.20trace.20support.20library
* much discussion of loading debugging extensions
* should rust provide a "standard library" for debugger extension authors?
* there isn't a great standard way for debugger extensions to be distributed; https://pypi.org/project/gdbundle/ exists but its not clear how much uptake/success it has had
* talking about mixing/matching semi-arbitrary debugger-extensions, pnkfelix asked if we could set things up so that each crate could specify which debugger extension it works well with, and mw pointed out that the existing source-code attributes already somewhat serve this purpose well, except that the case of multiple versions of a type from multiple versions of a given crate might not be handled well.