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/"
Tip: One can also use 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.

PackageStatusNotes
gdb
KDE Crash Report
gollark: Hmm, so your explanation is that these things work less well at scale...?
gollark: It seems implausible that you, as an individual without those things, have managed to beat them and get much higher returns without introducing some horrible issue.
gollark: They do not manage returns which are particularly high, generally speaking.
gollark: Consider: there are banks and funds and whatnot with large amounts of money, extremely smart people, and computing power.
gollark: Some offense, but I don't really think you can get *that much* money with a "strat".

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.