Bug 1779442 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

[debuginfod](https://sourceware.org/elfutils/Debuginfod.html) is the Linux (elfutils) equivalent of Microsoft symbol servers: You can set an environment variable to a URL, and then gdb / lldb / perf and other tools can obtain native debug symbol files based on the build ID.

This way, you can debug and profile binaries which you didn't build yourself but for which the debugging artifacts are published on a server.

There are three URL schemes:

`<server>/buildid/<buildid>/executable`: The executable, i.e. the binary or .so file containing machine code but not necessarily symbols.
`<server>/buildid/<buildid>/debuginfo`: The .so.dbg file, i.e. an object containing symbol tables and DWARF sections, but not necessarily machine code.
`<server>/buildid/<buildid>/source/<path>`: The source code of the file whose native path is <path> in the corresponding debug symbols file.

Examples:
https://debuginfod.fedoraproject.org/buildid/7b0cdaf878ab4f99078439d864af70a5fd7b5a2c/executable
https://debuginfod.systemtap.org/buildid/101ecd8ba902186974b9d547f9bfa64b166b3bb9/debuginfo
https://debuginfod.fedoraproject.org/buildid/7b0cdaf878ab4f99078439d864af70a5fd7b5a2c/source/usr/src/debug/glibc-2.33/nptl/pthread_cond_wait.c

The environment variable is `DEBUGINFOD_URLS`.

It would be great if we could make `https://symbols.mozilla.org/` work as a debuginfod server for Firefox binaries.
It would be great if we could make `https://symbols.mozilla.org/` work as a debuginfod server for Firefox binaries.

[debuginfod](https://sourceware.org/elfutils/Debuginfod.html) is the Linux (elfutils) equivalent of Microsoft symbol servers: You can set an environment variable to a URL, and then gdb / lldb / perf and other tools can obtain native debug symbol files based on the build ID.

This way, you can debug and profile binaries which you didn't build yourself but for which the debugging artifacts are published on a server.

There are three URL schemes:

`<server>/buildid/<buildid>/executable`: The executable, i.e. the binary or .so file containing machine code but not necessarily symbols.
`<server>/buildid/<buildid>/debuginfo`: The .so.dbg file, i.e. an object containing symbol tables and DWARF sections, but not necessarily machine code.
`<server>/buildid/<buildid>/source/<path>`: The source code of the file whose native path is <path> in the corresponding debug symbols file.

Examples:
https://debuginfod.fedoraproject.org/buildid/7b0cdaf878ab4f99078439d864af70a5fd7b5a2c/executable
https://debuginfod.systemtap.org/buildid/101ecd8ba902186974b9d547f9bfa64b166b3bb9/debuginfo
https://debuginfod.fedoraproject.org/buildid/7b0cdaf878ab4f99078439d864af70a5fd7b5a2c/source/usr/src/debug/glibc-2.33/nptl/pthread_cond_wait.c

The environment variable is `DEBUGINFOD_URLS`.

Back to Bug 1779442 Comment 0