Rethinking Linux tools with Compact Debuginfo Formats
summary
Compact debuginfo formats let tools ship small, targeted metadata alongside kernels and binaries so you get useful runtime features without full DWARF. Examples: BTF and CTF for types and variables, ORC and SFrame for reliable unwinding, kallsyms and .gnu_debugdata for symbol tables. Practical wins: Fedora’s .gnu_debugdata reduces symbol bloat, makedumpfile uses a 4 KB vmcoreinfo instead of megabytes of DWARF, and Dragon prototypes load KLIMs/CTF/ORC to debug without DWARF; perf is moving to SFrame for userspace unwinding. Suggested uses: type-aware printk, perf mem → data-type mapping, improved ABI checks.
AI-written summary · about
chapters (14)
- 0:00Introduction and motivation
- 1:06Thesis on debug info
- 3:38Classical debug info approaches
- 6:26Problems with debug info
- 8:12Non-debugging uses of debug info
- 11:07Kernel debug info capabilities
- 12:53Compact debug info formats overview
- 16:07Combining non-dwarf formats
- 18:34Case studies of compact formats
- 22:26Dragon debugger and dwarfless debugging
- 24:10Fedora’s GNU debug data
- 25:39VMcore info and compact formats
- 28:51Future ideas and possibilities
- 31:24Conclusion and Q&A
related talks
01h 29mModern Linux C++ Debugging Tools - Under the Covers
55mLinux Kernel Debug And Profiling Tools
37mThe BTF file format, more than just debugging
23mAlways present type information thanks to BPF: BTF
58m“Debugging Linux C++”
18mdebuginfod: get debugging data + sources easily
31mAmong ELFs and DWARFs
44mBoF: Devicetree
