LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

debuginfod

HTTP server for distributing ELF debugging information

TLDR

Scan directories for ELF/DWARF files
$ debuginfod -F [/usr/lib/debug]
copy
Start on a specific port
$ debuginfod -p [8002] -F [/usr/lib/debug]
copy
Index RPM archives in a directory
$ debuginfod -R [/path/to/rpms]
copy
Index DEB archives in a directory
$ debuginfod -U [/path/to/debs]
copy
Run in verbose mode with custom database path
$ debuginfod -v -d [/var/cache/debuginfod.sqlite] -F [/usr/lib/debug]
copy
Set scan interval and concurrent threads
$ debuginfod -t [600] -c [10] -F [/path/to/debug]
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).
-F
Activate ELF/DWARF file scanning of specified paths.
-R
Scan for RPM archives.
-U
Scan for DEB/DDEB archives.
-Z ext
Activate additional archive pattern scanning for the given extension.
-d file
SQLite database file location (default ~/.debuginfod.sqlite).
-c num
Scanner queue thread limit.
-C num
Webapi thread pool size.
-t seconds
Directory rescan interval (default 300).
-g seconds
Grooming pass interval (default 86400).
-I regex
Include files matching POSIX extended regex.
-X regex
Exclude files matching POSIX extended regex.
-L
Traverse symbolic links during scanning.
--passive
Read-only mode; no scanning, only serve existing index.
--cors
Add CORS response headers for third-party webapp access.
-v
Increase verbosity (may be repeated).

CLIENT USAGE

Set DEBUGINFOD_URLS to enable automatic fetching:

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

CAVEATS

Initial indexing can be slow for large repositories. The SQLite database grows with content. Network access is needed by clients. The service may expose details about installed binaries. Clients require matching build-ids to fetch debug information.

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

Copied to clipboard
Kai