Debuginfod
Debuginfod is a service providing debug information over an HTTP API.
Installation
gdb automatically tries to download debug files if the DEBUGINFOD_URLS
environment variable is present.
libelf, a dependency of gdb, ships with /etc/profile.d/debuginfod.sh
and /etc/profile.d/debuginfod.csh
scripts that set the variable on login, so there is no need to install additional packages.
You can optionally install the debuginfod package which provides the utility. This package is required for debuginfod support in .
Usage
The tooling looks for debug symbols on the debuginfod servers specified in the DEBUGINFOD_URLS
environment variable. The value is string of a space separated URLs.
For example:
DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
https://debuginfod.elfutils.org/
which works as a federated server and queries all available debuginfod servers.Now a debugger can fetch debug symbols without having to install the appropriate debug package.
$ gdb /usr/bin/i3
[...] Reading symbols from /usr/bin/i3... Downloading 1.56 MB separate debug info for /usr/bin/i3 Reading symbols from /home/user/.cache/debuginfod_client/29129d26dbe557d2b56daf90327f64f527304dc1/debuginfo... (gdb)
You can also do for example:
# coredumpctl gdb
And then inside gdb
bt full
and you will have the debug-symbols of the last crashed app in your sysyem.
See for usage.
Debugger support
Several debuggers support utilizing debuginfod to find debug symbol and source code listing.
Package | Status | Notes |
---|---|---|
gdb | ||
KDE Crash Report | ||