2013-04-16 22 views
27

コアダンプファイルのデフォルトの場所を変更して、コアダンプが生成されるたびに、そのディレクトリに移動します。また、ダンプファイルをこの場所にクラッシュしたファイル?コアダンプの場所を変更する

+0

バージョン "何が起こったのか":http://stackoverflow.com/questions/2065912/core-dumped-but-core-file-is-をnot-in-current-directory? –

答えて

44

はい、そうです。 /proc/sys/kernel/core_patternを変更して、コアファイルの生成に使用されるパス名を定義することができます。

echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern 

は将来のすべてのコアが受け入れ答えで手順を実行する前に/tmpに発生するとcore_[program].[pid]

+12

+1の 'tee'トリック;)' sysctl'もあることに注意してください。それで 'sysctl -w kernel.core_pattern = '/ tmp/core_%e。%p'' – hek2mgl

+0

これはCentOS 7では動作しません。 – Ali

+1

@Ali - 「動作していません。 [コアマンページ](http://www.unix。com/man-page/centos/5/core /)、問題が続く場合は新しい質問をしてください。コメントは新しい問題を議論する場所ではありません。 – mata

23

名前を付けることがダンプ、それは良いかもしれない原因になります。詳細については、man core

の例を参照してください/proc/sys/kernel/core_patternの内容をチェックしてRedhatのabrtシステムが使用されているかどうか確認してください。

-> cat /proc/sys/kernel/core_pattern 
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e 

これが使用されている場合は、オーバーライドする前に理解しておきたいコアファイルを管理するための非常に広範囲なスキームが既に用意されています。

一言で言えば

、ABRT:

  1. は、ここではコアファイルを置きます:/var/spool/abrt/
  2. はコマンドで開始されたGUIはabrt-gui
  3. は、失敗したプロセスに関する追加情報をコアファイルを強化しました。
  4. このファイルで設定している:

    ProcessUnpackaged = no 
    

    変更yesにあなたからコアファイルをキャプチャすること:それを使用して/etc/abrt/abrt-action-save-package-data.conf

一つの共通のつまずきは、設定ファイルに次の行を変更することですそれ以外の場合は、パッケージマネージャによってインストールされたプログラムからのコアファイルのみを取得します。

[EDITコアダンプの使用方法を答えるために]私はこれを行うコアダンプを調べるために を:

cd /var/spool/abrt/XXXXXXX 
gdb $(cat executable) coredump 

ありになるように、より良い方法かもしれないが、私は持っていないので、GDBがうまく私を務めています他の方法を探しました。 XXXXXXXは、コアダンプファイルを含むフォルダに置き換えてください。 gdbコマンドはカットアンドペーストされます。

参考文献:

Redhat Book

CentOS Forum

+0

この情報に感謝します。私はコアダンプファイルを手に入れましたが、それをabrtでどうやって開くのですか? – Devos

+0

コアファイルがどのように生成されたかわからない場合は#file core.XYZを実行してください。コアファイルを生成するために実行されたコマンドが表示されます。 – kumar

関連する問題