2012-11-09 58 views
19

最近、強くプログラムやパッケージをインストールしているので、新しくインストールされたプログラム(または古いプログラム)のどれがファイルcore私のホームフォルダにあります。それはサーバーなので、マシン上で起こりうる不安定な原因を見つけ出すことをお勧めします。コアダンプファイルの原因となったプログラムを見つけよう

あなたは、単にそれらを識別するための fileプログラムを使用することができます
+1

FreeBSDではこれは私にとってはうまくいく、 'dmesg | tail -n 20' – SIFE

+0

@SIFEこれはまさに最近起こった場合にはうまくいきます。 – Benj

+0

@Benj私はそれを忘れてしまった。 – SIFE

答えて

30

例:

# file /var/core/core 
/var/core/core:  ELF 64-bit MSB core file SPARCV9 Version 1, from 'crs_stat.bin' 
+2

時々私は、コアファイルが何らかの理由で「ファイル」が特定できない場合があります。そのような場合、コアファイルの文字列出力の最後の行に実行可能ファイルのパスが含まれていることがよくあります。例えば"strings/path/to/corefile | tail -n 1"はしばしば動作し、最後の数行を見ます。 – jsegal

+3

@jsegal:良い見つけましたが、私は 'strings core | grep ^/| 'find @'が私に言ったとき 'tail -1':'プログラムヘッダセクションが多すぎます。 – Tino

0

あなたはcore.pidがあるディレクトリに移動することができ、実行gdbのコアは

0

をcore.pid多くの場合、コアファイルのファイルプログラムを使用すると、受け入れられた答え(Benjの答えのコード)の@Benjで説明されているように、誤った実行可能ファイルが表示されます。

# file /var/core/core 
/var/core/core:  ELF 64-bit MSB core file SPARCV9 Version 1, from 'crs_stat.bin' 

しかし、時にはあなたは、「あまりにも多くのプログラムヘッダ部」についての苦情ことがあります。この場合

core.some-lib.nnnn.nnnn: ELF 64-bit LSB core file x86-64, version 1 (SYSV), too many program header sections (1850) 

を、あなたには、いくつかの選択肢を試すことができます。

  • テールの最後のいくつかの文字列コアファイル(アプリは私のために約25戻っていた):strings core.some-lib.nnnn.nnnn | tail -50
  • 使用GDB自身:Core was generated by '/usr/local/bin/some-executable'
  • gdb -c core.some-lib.nnnn.nnnnこれは、多くの場合、あなたにこのような何かを教えてくれます
関連する問題