シンボルスタックトレースを取得するために必要なdbgsymパッケージをどのように見つけますか?

シンボルスタックトレースを取得するために必要なdbgsymパッケージをどのように見つけますか?

Debian システムにコアファイルがあります。このコアダンプでシンボルスタックトレースを生成するために必要なすべてのデバッグシンボルパッケージの完全なリストを取得したいと思います。

そのようなリストはどのように生成できますか?

ベストアンサー1

readelf -Waマッピングファイル(lookup)を含むコアダンプに関する詳細情報NT_FILEが提供されています。バイナリまたはライブラリファイルのデバッグシンボルをインストールする必要があります。関連パッケージを見つけるには、そのパッケージをインストールし(apt-fileまだインストールされていない場合)、実行してsudo apt updateインデックスを更新してから、次の手順を実行します。

apt-file search /path/to/file

たとえば、特定のコアダンプ/usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1用にマップされたファイルのリストに表示されている場合、

$ apt-file search /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1
libpcre2-8-0: /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1

libpcre2-8-0-dbgsym拡張すると、そのデバッグシンボルを持つために何をインストールする必要があるかがわかります。

(はい、これは予想より少し面倒です。他のディストリビューションを使用するとこれは簡単になります...)

おすすめ記事