2.2 KiB
2.2 KiB
Debuginfod on Ubuntu
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
.ddeb
files (but it can do more than that).
How does it work?
- There's a
debuginfod
server (e.g., at https://debuginfod.ubuntu.com) that indexes all available debuginfo from several supported Ubuntu releases.
- Debugger-like tools (e.g.,
GDB
) link againstlibdebuginfod
, which provides the client support.
- When the tool needs a certain debuginfo, it will contact the
debuginfod
server (specified via theDEBUGINFOD_URLS
shell variable) and put a request for the debuginfo'sBuild-ID
.
- If found, the server will then transmit the information over HTTP(S) to the client.
How do I use it?
GDB
on Jammy and Kinetic support usingdebuginfod
to fetch debug information.- From Kinetic onward, there is no need for manual intervention: the
system will automatically use Ubuntu's
debuginfod
service. - On Jammy, you can configure your system to use the service by doing:
export DEBUGINFOD_URLS="https://debuginfod.ubuntu.com"
Demo
- Fasten your seat belts, please.
Future plans
- Work on source code indexing (more demo!).
- Index debug information from other producers (snaps, special PPAs).
- Provide
debuginfod
-capableGDBs
via-backports
to previous supported Ubuntu releases.
More information
- https://ubuntu.com/server/docs/service-debuginfod
- https://sourceware.org/elfutils/Debuginfod.html
sergiodj
@libera.chat