Debuginfod

提供: ArchWiki
2023年10月15日 (日) 15:38時点におけるKgx (トーク | 投稿記録)による版 (一部翻訳)
ナビゲーションに移動 検索に移動

関連記事

Debuginfod は、HTTP API 経由でデバッグ情報を提供するサービスです。

インストール

DEBUGINFOD_URLS 環境変数 が存在する場合、gdb は自動的にデバッグ ファイルのダウンロードを試みます。

gdb の依存関係である libelf は、/etc/profile.d/debuginfod.sh および /etc/profile.d/debuginfod に同梱されています.csh スクリプトはログイン時に変数を設定するため、追加のパッケージをインストールする必要はありません。

オプションで、debuginfod-find(1) ユーティリティを提供する debuginfod パッケージを インストール することができます。このパッケージは、delve での debuginfod サポートに必要です。

使い方

この記事またはセクションは加筆を必要としています。
理由: Explain how DEBUGINFOD_URLS is set from /etc/debuginfod/*.urls. (議論: トーク: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/"
ヒント: One can also use https://debuginfod.elfutils.org/ which works as a federated server and queries all available debuginfod servers.
この記事またはセクションは加筆を必要としています。
理由: What data is actually fetched? Does it download a debug package and extract it to the user's home directory? (議論: トーク:Debuginfod#)
この記事あるいはセクションは Debugging/Getting traces#Debuginfod と合併することが議論されています。
ノート: Duplicate content. (議論: トーク: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.

デバッガのサポート

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

Package Status Notes
gdb Supported
delve Partial Support Supports debug symbols, missing source listing
KDE Crash Report Supported

参照