LinuxCommandLibrary

debuginfod

TLDR

Start server with default paths

$ debuginfod
copy
Serve specific directories
$ debuginfod [/usr/lib/debug] [/var/cache/debuginfod]
copy
Start on specific port
$ debuginfod -p [8002]
copy
Index RPM files
$ debuginfod -R [/path/to/rpms]
copy
Index DEB files
$ debuginfod -U [/path/to/debs]
copy
Set concurrent connections
$ debuginfod -c [10]
copy

SYNOPSIS

debuginfod [options] [paths...]

DESCRIPTION

debuginfod is a server for distributing ELF debugging information over HTTP. It indexes executables, shared libraries, and debug info, serving them to clients like gdb and systemtap on demand.
The service enables automatic debugging symbol resolution without manually installing debug packages. Clients query by build-id to fetch matching debug information.

PARAMETERS

-p port

HTTP server port (default 8002).
-c num
Concurrent connections limit.
-R
Scan for RPM archives.
-U
Scan for DEB archives.
-d file
Database file location.
-t seconds
Scan interval.
-F
Run in foreground.
-v
Increase verbosity.

CLIENT USAGE

Set DEBUGINFOD_URLS to enable automatic fetching:

$ export DEBUGINFOD_URLS="https://debuginfod.example.com"
copy

CAVEATS

Initial indexing can be slow. Database grows with content. Network access needed by clients. May expose binary details. Requires matching build-ids.

HISTORY

debuginfod was developed as part of the elfutils project by Red Hat engineers around 2019. It addresses the challenge of distributing debug symbols for Linux distributions, enabling on-demand fetching rather than installing large debug packages.

SEE ALSO

gdb(1), elfutils(1), systemtap(1), objdump(1)

Copied to clipboard