debuginfod-debconf21/debuginfod-debian.org

2.1 KiB

Debuginfod on Debian

What is debuginfod?

  • Relatively young (2019) project started by Red Hat.
  • It "is a client/server […] that automatically distributes ELF / DWARF / source-code from servers to clients such as debuggers across HTTP".
  • The goal is to replace the need for .dbgsym files (but it can do more than that).

How does it work?

  • There's a debuginfod server (e.g., at https://debuginfod.debian.net) that indexes all available debuginfo from several distributions (unstable, testing, stable, experimental, etc.)
  • Debugger-like tools (e.g., GDB) link against libdebuginfod, which provides the client support.
  • When the tool needs a certain debuginfo, it will contact the debuginfod server (specified via the DEBUGINFOD_URLS shell variable) and put a request for the debuginfo's Build-ID.
  • If found, the server will then transmit the information over HTTP(S) to the client.

How do I use it?

  • GDB on testing / unstable / bullseye supports using debuginfod when searching for debuginfo.
  • Unfortunately, it wasn't possible to include automatic support for our service on bullseye.
  • But don't despair! This is all that the user will have to do:
export DEBUGINFOD_URLS="https://debuginfod.debian.net"

Demo

  • Fasten your seat belts, please.

Future plans

  • Make it an official Debian service (ongoing task with the DSA).
  • Index and serve debuginfo from https://snapshot.debian.org.
  • Find co-maintainers (current bus factor: 1).