Jump to content
From ArchWiki

Related articles

- Debugging/Getting traces

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 debuginfod-find(1) utility. This package is required for debuginfod support in delve.

## Usage

This article or section needs expansion.

Reason: Explain how `DEBUGINFOD_URLS` is set from `/etc/debuginfod/*.urls`. (Discuss in Talk:Debuginfod)

The tooling looks for debug symbols on the debuginfod servers specified in the `DEBUGINFOD_URLS` environment variable. The value is a 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.

This article or section needs expansion.

Reason: What data is actually fetched? Does it download a debug package and extract it to the user's home directory? (Discuss in Talk:Debuginfod)

This article or section is a candidate for merging with Debugging/Getting traces#Debuginfod.

Notes: Duplicate content. (Discuss in Talk:Debuginfod)

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 system.

See debuginfod-find(1) for usage.

## Debugger support

Several debuggers support utilizing debuginfod to find debug symbol and source code listing.

Package | Status | Notes
--- | --- | ---
gdb | Supported |
delve | Supported |
KDE Crash Report | Supported |
valgrind | Supported |

## See also

- Homepage
- The elfutils debuginfod server, FOSDEM 2020

Category:

- Package development

Hidden categories:

- Pages or sections flagged with Template:Expansion
- Pages or sections flagged with Template:Merge