コンテンツにスキップ

「Debuginfod」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
 
Kgx (トーク | 投稿記録)
使い方: 同期
 
(2人の利用者による、間の5版が非表示)
1行目: 1行目:
[[Category:Package development]]
[[Category:パッケージ開発]]
[[en:Debuginfod]]
[[ru:Debuginfod]]
{{Related articles start}}
{{Related articles start}}
{{Related|Debugging/Getting traces}}
{{Related|デバッグ/トレースを取得}}
{{Related articles end}}
{{Related articles end}}


[https://sourceware.org/elfutils/Debuginfod.html Debuginfod] is a service providing debug information over a HTTP API.
[https://sourceware.org/elfutils/Debuginfod.html Debuginfod] は、HTTP API 経由でデバッグ情報を提供するサービスです。


== Installation ==
== インストール ==


{{ic|DEBUGINFOD_URLS}} [[環境変数]] が存在する場合、{{Pkg|gdb}} は自動的にデバッグ ファイルのダウンロードを試みます。
[[Install]] {{Pkg|debuginfod}}.


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


オプションで、{{man|1|debuginfod-find}} ユーティリティを提供する {{Pkg|debuginfod}} パッケージを [[インストール]] することができます。このパッケージは、{{Pkg|delve}} での debuginfod サポートに必要です。
{{Note|''debuginfod'' after version {{ic|0.186-3}} adds {{ic|DEBUGINFOD_URLS}} to the environment on login.}}


== 使用方法 ==
Set the [[environment variable]] which tells the tooling where to look for debug symbols:


{{Tip|''gdb'' での使用法については、[[デバッグ/トレースを取得#トレースの取得]] を参照してください。}}
export DEBUGINFOD_URLS="<nowiki>https://debuginfod.archlinux.org/</nowiki>"


このツールは、{{ic|DEBUGINFOD_URLS}} [[環境変数]] で指定された debuginfod サーバー上でデバッグシンボルを検索します。値は、スペースで区切られた URL の文字列です。
One can also use {{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} which works as a federated server and queries all available debuginfod servers.


例えば:
Now a debugger can fetch debug symbols without having to install the appropriate debug package.


DEBUGINFOD_URLS="<nowiki>https://debuginfod.archlinux.org/</nowiki>"
{{hc|$ gdb /usr/bin/i3|

[...]
{{Tip|{{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} を使用することもできます。これはフェデレーテッド・サーバーとして機能し、利用可能なすべての debuginfod サーバーをクエリします。}}
Reading symbols from /usr/bin/i3...

Downloading 1.56 MB separate debug info for /usr/bin/i3
使用法については、{{man|1|debuginfod-find}} を参照してください。
Reading symbols from /home/user/.cache/debuginfod_client/29129d26dbe557d2b56daf90327f64f527304dc1/debuginfo...

(gdb)
=== マニュアルダウンロード ===

{{Pkg|zstd}} のデバッグシンボルといくつかのソースファイルを手動で取得したい場合は、''debuginfod-find'' を利用できます:

{{hc|$ debuginfod-find debuginfo /usr/bin/zstd|
/home/user/.cache/debuginfod_client/70e1b456c5813658df6436a3deb71812e75a0267/debuginfo
}}
}}


See {{man|1|debuginfod-find}} for usage.
{{hc|$ 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}}


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


いくつかのデバッガは、デバッグシンボルとソースコードリストを検索するための 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|サポートされています}} ||
|}
|}


== See also ==
== 参照 ==


* [https://sourceware.org/elfutils/Debuginfod.html Homepage]
* [https://sourceware.org/elfutils/Debuginfod.html Homepage]

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

参照