Debuginfod

提供: ArchWiki
2023年10月15日 (日) 18:55時点における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 サポートに必要です。

使い方

このツールは、DEBUGINFOD_URLS 環境変数 で指定された debuginfod サーバー上でデバッグシンボルを検索します。値は、スペースで区切られた URL の文字列です。

例えば:

DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
ヒント: https://debuginfod.elfutils.org/ を使用することもできます。これはフェデレーテッド・サーバーとして機能し、利用可能なすべての debuginfod サーバーをクエリします。

デバッガは、適切なデバッグパッケージをインストールしなくても、デバッグシンボルをフェッチできるようになりました。

$ 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)

たとえば次のようにすることもできます。

# coredumpctl gdb

そして、gdb 内では次のようになります。

bt full

システム内で最後にクラッシュしたアプリのデバッグシンボルが表示されます。

使用法については、debuginfod-find(1) を参照してください。

デバッガのサポート

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

参照