my_knowledge.ko

Linux | Debug, Analyze, Trace | Tech | etc...

任意の Linux コマンドに紐づく debuginfo パッケージを確認する方法

本記事は、次の記事との関連になります。

【RHEL, CentOS, Fedora】Linux コマンドのデバッグ方法 - AWESOME LINUX WORLD

この記事で紹介されているよりも簡単に、コマンドの debuginfo パッケージを確認する方法がありました。 別記事の調査中 (執筆中) に発見しましたが、せっかくなのでメモがてら記事にしました。

手順

gdb で任意のコマンドをデバッグします (ここでは free コマンド)。

$ gdb -q free
Reading symbols from free...
Reading symbols from .gnu_debugdata for /usr/bin/free...
(No debugging symbols found in .gnu_debugdata for /usr/bin/free)
Missing separate debuginfos, use: dnf debuginfo-install procps-ng-3.3.15-7.fc32.x86_64

(gdb)

gdb で ls コマンドのデバッグを試みますが、デバッグ情報が無いので、 $ dnf debuginfo-install procps-ng-3.3.15-7.fc32.x86_64 を実行しろというようなことを言われています。

このように debuginfo パッケージ名 (と実行コマンド) を確認できます。便利ですね。

備考

調査環境は次のとおりです。

$ cat /etc/redhat-release 
Fedora release 32 (Thirty Two)

$ uname -r
5.6.19-300.fc32.x86_64

$ gdb -version
GNU gdb (GDB) Fedora 9.1-5.fc32
...

参考