コンテンツにスキップ

「Debuginfod」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
Kgx (トーク | 投稿記録)
一部翻訳
Kgx (トーク | 投稿記録)
使い方: 同期
 
(同じ利用者による、間の2版が非表示)
16行目: 16行目:
オプションで、{{man|1|debuginfod-find}} ユーティリティを提供する {{Pkg|debuginfod}} パッケージを [[インストール]] することができます。このパッケージは、{{Pkg|delve}} での debuginfod サポートに必要です。
オプションで、{{man|1|debuginfod-find}} ユーティリティを提供する {{Pkg|debuginfod}} パッケージを [[インストール]] することができます。このパッケージは、{{Pkg|delve}} での debuginfod サポートに必要です。


== 使方 ==
== 使 ==


{{Tip|''gdb'' での使用法については、[[デバッグ/トレースを取得#トレースの取得]] を参照してください。}}
{{Expansion|Explain how {{ic|DEBUGINFOD_URLS}} is set from {{ic|/etc/debuginfod/*.urls}}.}}


このツールは、{{ic|DEBUGINFOD_URLS}} [[環境変数]] で指定された debuginfod サーバー上でデバッグシンボルを検索します。値は、スペースで区切られた URL の文字列です。
The tooling looks for debug symbols on the debuginfod servers specified in the {{ic|DEBUGINFOD_URLS}} [[environment variable]]. The value is a string of a space separated URLs.


例えば:
For example:


DEBUGINFOD_URLS="<nowiki>https://debuginfod.archlinux.org/</nowiki>"
DEBUGINFOD_URLS="<nowiki>https://debuginfod.archlinux.org/</nowiki>"


{{Tip|One can also use {{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} which works as a federated server and queries all available debuginfod servers.}}
{{Tip|{{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} を使用することもできます。これはフェデレーテッド・サーバーとして機能し、利用可能なすべての debuginfod サーバーをクエリします。}}


使用法については、{{man|1|debuginfod-find}} を参照してください。
{{Expansion|What data is actually fetched? Does it download a [[Debugging/Getting traces#Install debug packages|debug package]] and extract it to the user's home directory?}}


=== マニュアルダウンロード ===
{{Merge|Debugging/Getting traces#Debuginfod|Duplicate content.}}


{{Pkg|zstd}} のデバッグシンボルといくつかのソースファイルを手動で取得したい場合は、''debuginfod-find'' を利用できます:
Now a debugger can fetch debug symbols without having to install the appropriate debug package.


{{hc|$ gdb /usr/bin/i3|
{{hc|$ debuginfod-find debuginfo /usr/bin/zstd|
/home/user/.cache/debuginfod_client/70e1b456c5813658df6436a3deb71812e75a0267/debuginfo
[...]
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)
}}
}}


{{hc|$ debuginfod-find source /usr/bin/zstd /usr/src/debug/zstd-1.5.2/programs/fileio.c|
You can also do for example:
/home/user/.cache/debuginfod_client/70e1b456c5813658df6436a3deb71812e75a0267/source##usr##src##debug##zstd-1.5.2##programs##fileio.c}}

# coredumpctl gdb

And then inside gdb:

bt full

and you will have the debug-symbols of the last crashed app in your system.

See {{man|1|debuginfod-find}} for usage.


== デバッガのサポート ==
== デバッガのサポート ==


いくつかのデバッガは、デバッグシンボルとソースコードリストを検索するための debuginfod の利用をサポートしています。
Several debuggers support utilizing debuginfod to find debug symbol and source code listing.


{| class="wikitable"
{| class="wikitable"
|-
|-
! Package !! Status !! Notes
! パッケージ !! ステータス !! ノート
|-
| {{Pkg|gdb}} || {{G|サポートされています}} ||
|-
|-
| {{Pkg|gdb}} || {{G|Supported}} ||
| {{Pkg|delve}} || {{G|サポートされています}} ||
|-
|-
|KDE Crash Report || {{G|サポートされています}} ||
| {{Pkg|delve}} || {{Y|Partial Support}} || Supports debug symbols, missing [https://github.com/go-delve/delve/pull/2885 source listing]
|-
|-
|KDE Crash Report || {{G|Supported}} ||
| {{Pkg|valgrind}} || {{G|サポートされています}} ||
|}
|}



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 サポートされています

参照