「Debuginfod」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(一部翻訳)
(→‎使い方: 同期)
 
(同じ利用者による、間の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 サポートされています

参照