Debuginfod
関連記事
Debuginfod は、HTTP API 経由でデバッグ情報を提供するサービスです。
インストール
DEBUGINFOD_URLS
環境変数 が存在する場合、gdb は自動的にデバッグ ファイルのダウンロードを試みます。
gdb の依存関係である libelf は、/etc/profile.d/debuginfod.sh
および /etc/profile.d/debuginfod に同梱されています.csh
スクリプトはログイン時に変数を設定するため、追加のパッケージをインストールする必要はありません。
オプションで、debuginfod-find(1) ユーティリティを提供する debuginfod パッケージを インストール することができます。このパッケージは、delve での 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/"
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 |