「Debuginfod」の版間の差分
表示
削除された内容 追加された内容
→デバッガのサポート: 翻訳 |
→使い方: 同期 |
||
| 16行目: | 16行目: | ||
オプションで、{{man|1|debuginfod-find}} ユーティリティを提供する {{Pkg|debuginfod}} パッケージを [[インストール]] することができます。このパッケージは、{{Pkg|delve}} での debuginfod サポートに必要です。 |
オプションで、{{man|1|debuginfod-find}} ユーティリティを提供する {{Pkg|debuginfod}} パッケージを [[インストール]] することができます。このパッケージは、{{Pkg|delve}} での debuginfod サポートに必要です。 |
||
== 使 |
== 使用方法 == |
||
| ⚫ | |||
このツールは、{{ic|DEBUGINFOD_URLS}} [[環境変数]] で指定された debuginfod サーバー上でデバッグシンボルを検索します。値は、スペースで区切られた URL の文字列です。 |
このツールは、{{ic|DEBUGINFOD_URLS}} [[環境変数]] で指定された debuginfod サーバー上でデバッグシンボルを検索します。値は、スペースで区切られた URL の文字列です。 |
||
| 26行目: | 28行目: | ||
{{Tip|{{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} を使用することもできます。これはフェデレーテッド・サーバーとして機能し、利用可能なすべての debuginfod サーバーをクエリします。}} |
{{Tip|{{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} を使用することもできます。これはフェデレーテッド・サーバーとして機能し、利用可能なすべての debuginfod サーバーをクエリします。}} |
||
使用法については、{{man|1|debuginfod-find}} を参照してください。 |
|||
デバッガは、適切なデバッグパッケージをインストールしなくても、デバッグシンボルをフェッチできるようになりました。 |
|||
=== マニュアルダウンロード === |
|||
{{hc|$ gdb /usr/bin/i3| |
|||
[...] |
|||
Reading symbols from /usr/bin/i3... |
|||
Downloading 1.56 MB separate debug info for /usr/bin/i3 |
|||
| ⚫ | |||
(gdb) |
|||
| ⚫ | |||
{{Pkg|zstd}} のデバッグシンボルといくつかのソースファイルを手動で取得したい場合は、''debuginfod-find'' を利用できます: |
|||
たとえば次のようにすることもできます。 |
|||
{{hc|$ debuginfod-find debuginfo /usr/bin/zstd| |
|||
# coredumpctl gdb |
|||
| ⚫ | |||
| ⚫ | |||
{{hc|$ debuginfod-find source /usr/bin/zstd /usr/src/debug/zstd-1.5.2/programs/fileio.c| |
|||
そして、gdb 内では次のようになります。 |
|||
/home/user/.cache/debuginfod_client/70e1b456c5813658df6436a3deb71812e75a0267/source##usr##src##debug##zstd-1.5.2##programs##fileio.c}} |
|||
bt full |
|||
システム内で最後にクラッシュしたアプリのデバッグシンボルが表示されます。 |
|||
| ⚫ | |||
== デバッガのサポート == |
== デバッガのサポート == |
||
2024年3月22日 (金) 20:17時点における最新版
関連記事
Debuginfod は、HTTP API 経由でデバッグ情報を提供するサービスです。
インストール
DEBUGINFOD_URLS 環境変数 が存在する場合、gdb は自動的にデバッグ ファイルのダウンロードを試みます。
gdb の依存関係である libelf は、/etc/profile.d/debuginfod.sh および /etc/profile.d/debuginfod に同梱されています.csh スクリプトはログイン時に変数を設定するため、追加のパッケージをインストールする必要はありません。
オプションで、debuginfod-find(1) ユーティリティを提供する debuginfod パッケージを インストール することができます。このパッケージは、delve での debuginfod サポートに必要です。
使用方法
ヒント gdb での使用法については、デバッグ/トレースを取得#トレースの取得 を参照してください。
このツールは、DEBUGINFOD_URLS 環境変数 で指定された debuginfod サーバー上でデバッグシンボルを検索します。値は、スペースで区切られた URL の文字列です。
例えば:
DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
ヒント
https://debuginfod.elfutils.org/ を使用することもできます。これはフェデレーテッド・サーバーとして機能し、利用可能なすべての debuginfod サーバーをクエリします。使用法については、debuginfod-find(1) を参照してください。
マニュアルダウンロード
zstd のデバッグシンボルといくつかのソースファイルを手動で取得したい場合は、debuginfod-find を利用できます:
$ debuginfod-find debuginfo /usr/bin/zstd
/home/user/.cache/debuginfod_client/70e1b456c5813658df6436a3deb71812e75a0267/debuginfo
$ debuginfod-find source /usr/bin/zstd /usr/src/debug/zstd-1.5.2/programs/fileio.c
/home/user/.cache/debuginfod_client/70e1b456c5813658df6436a3deb71812e75a0267/source##usr##src##debug##zstd-1.5.2##programs##fileio.c
デバッガのサポート
いくつかのデバッガは、デバッグシンボルとソースコードリストを検索するための debuginfod の利用をサポートしています。
| パッケージ | ステータス | ノート |
|---|---|---|
| gdb | サポートされています | |
| delve | サポートされています | |
| KDE Crash Report | サポートされています | |
| valgrind | サポートされています |