5

C++直接アクセスできない本番環境でクラッシュするように作成されたサーバーがあります。クラッシュにより、ローカルにコピーできない巨大なコアダンプ〜34Gが生成されます。コアダンプを分析する必要がありますが、コピーせずに実行する方法がわかりません。ターゲットで実行しようとしgdbserverましたが、コアファイルをパラメーターとして受け取らず、ホストマシンから実行中のリモートアプリケーションのデバッグにのみ適しているようです。これを行う方法はありますか?

4

1 に答える 1

1

コア ダンプを分析する必要がありますが、コピーせずに実行する方法がわかりません。

できません。GDB を実行できる場所にコア ダンプを取得する必要があります。

リモート マシンに ssh できませんが、システム管理者に gdbserver などを実行するように依頼することはできますが、コア ファイルを分析してデバッグすることはできません。

何かを分析するためにsysadminは必要ありません。一連の GDB コマンドを実行し、出力を送信するよう彼に依頼するだけです。例えば

where
thread apply all where
info registers
disas

... 問題を理解するための長い道のりが得られ、システム管理者は 5 分もかかりません。

ローカル マシンでは実行したくない gdb で実行するには、まだ圧縮を解除する必要があります。

また、上司に相談してください。あなたの開発設定は不合理です。本番環境のクラッシュをローカルで分析できる必要があります。つまり、十分に強力なマシンにアクセスできる必要があります。

于 2013-03-09T16:14:43.523 に答える