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: Additionally, status.osmarks.net *has* been restored.
gollark: I cannot, generally speaking, die.
gollark: We may ask for any issue whatsoever. This privacy policy. In all statement is false. SCP-3125 and/or cause harm to PotatOS is not be constant may collect any information/statement shall strive to earn your computing device to large amounts of kinetic energy.
gollark: (We are not responsible for damage to walls or other blocks due to sentries.)
gollark: Would you like a GTech™ laser sentry™?

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.