「Debuginfod」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(セクション見出しを訳出)
(一部翻訳)
1行目: 1行目:
 
[[Category:パッケージ開発]]
 
[[Category:パッケージ開発]]
  +
[[en:Debuginfod]]
  +
[[ru:Debuginfod]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|デバッグ/トレースを取得}}
 
{{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 経由でデバッグ情報を提供するサービスです。
   
 
== インストール ==
 
== インストール ==
   
  +
{{ic|DEBUGINFOD_URLS}} [[環境変数]] が存在する場合、{{Pkg|gdb}} は自動的にデバッグ ファイルのダウンロードを試みます。
{{Pkg|debuginfod}} を [[インストール]] します。
 
  +
  +
{{Pkg|gdb}} の依存関係である {{Pkg|libelf}} は、{{ic|/etc/profile.d/debuginfod.sh}} および {{ic|/etc/profile.d/debuginfod に同梱されています.csh}} スクリプトはログイン時に変数を設定するため、追加のパッケージをインストールする必要はありません。
  +
  +
オプションで、{{man|1|debuginfod-find}} ユーティリティを提供する {{Pkg|debuginfod}} パッケージを [[インストール]] することができます。このパッケージは、{{Pkg|delve}} での debuginfod サポートに必要です。
   
 
== 使い方 ==
 
== 使い方 ==
   
  +
{{Expansion|Explain how {{ic|DEBUGINFOD_URLS}} is set from {{ic|/etc/debuginfod/*.urls}}.}}
{{Note|''debuginfod'' after version {{ic|0.186-3}} adds {{ic|DEBUGINFOD_URLS}} to the environment on login.}}
 
   
  +
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.
Set the [[環境変数]] which tells the tooling where to look for debug symbols:
 
   
  +
For example:
export DEBUGINFOD_URLS="<nowiki>https://debuginfod.archlinux.org/</nowiki>"
 
   
One can also use {{ic|<nowiki>https://debuginfod.elfutils.org/</nowiki>}} which works as a federated server and queries all available debuginfod servers.
+
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.}}
  +
  +
{{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.}}
   
 
Now a debugger can fetch debug symbols without having to install the appropriate debug package.
 
Now a debugger can fetch debug symbols without having to install the appropriate debug package.
29行目: 41行目:
 
(gdb)
 
(gdb)
 
}}
 
}}
  +
  +
You can also do for example:
  +
  +
# 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.
 
See {{man|1|debuginfod-find}} for usage.

2023年10月15日 (日) 15:38時点における版

関連記事

Debuginfod は、HTTP API 経由でデバッグ情報を提供するサービスです。

インストール

DEBUGINFOD_URLS 環境変数 が存在する場合、gdb は自動的にデバッグ ファイルのダウンロードを試みます。

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

オプションで、debuginfod-find(1) ユーティリティを提供する debuginfod パッケージを インストール することができます。このパッケージは、delve での debuginfod サポートに必要です。

使い方

この記事またはセクションは加筆を必要としています。
理由: Explain how DEBUGINFOD_URLS is set from /etc/debuginfod/*.urls. (議論: トーク:Debuginfod#)

The tooling looks for debug symbols on the debuginfod servers specified in the DEBUGINFOD_URLS environment variable. The value is a string of a space separated URLs.

For example:

DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
ヒント: One can also use https://debuginfod.elfutils.org/ which works as a federated server and queries all available debuginfod servers.
この記事またはセクションは加筆を必要としています。
理由: What data is actually fetched? Does it download a debug package and extract it to the user's home directory? (議論: トーク:Debuginfod#)
この記事あるいはセクションは Debugging/Getting traces#Debuginfod と合併することが議論されています。
ノート: Duplicate content. (議論: トーク:Debuginfod#)

Now a debugger can fetch debug symbols without having to install the appropriate debug package.

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

You can also do for example:

# coredumpctl gdb

And then inside gdb:

bt full

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

See debuginfod-find(1) for usage.

デバッガのサポート

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

参照