問題タブ [postmortem-debugging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gdb - 共有ライブラリしかない場合、コア ダンプでシンボルを取得するにはどうすればよいですか?
お客様が製品に統合するために使用する共有ライブラリを出荷しています。
お客様からコア ダンプを受け取りましたinfo proc mappings
。モジュールがロードされているthread apply all bt
ことがわかり、ライブラリがロードされている範囲内にあるスタック トレースにエントリがあることがわかります。そのため、ライブラリがクラッシュを引き起こした可能性があります。しかし、顧客が使用した実行可能ファイルにはアクセスできません。
出荷した共有ライブラリしかなく、メインの実行可能ファイルがない場合、このコア ダンプでシンボルを取得する方法はありますか?
file コマンドを使用してコアとライブラリをロードしようとしましたが、スタック トレースにシンボルが表示されません。
インターネット上のほとんどの例は、実行可能ファイル自体にアクセスして、意味のあるシンボルを取得できることを暗示しているようです。GDB にロードした場合、共有ライブラリだけのシンボルを取得できますか?
その他の詳細: 本番システムは、私の PC にインストールされているものとは異なる (かなり古い) GCC を使用しています。また、利用可能なライブラリのストリップされていないバージョンがあり、ストリップされたライブラリが出荷されます。