Ubuntu 12.04 LTS を使用しています。クラッシュを作成するために、次のように簡単なプログラムを作成しました
// null.c
#include<stdio.h>
int main()
{
int *p = NULL;
int k=*p;
printf("%d",sizeof(0));
return 0;
}
「gcc -g null.c」、「./a.out」の順に実行すると、期待どおりの出力が得られます。
Segmentation fault (core dumped)
ここで、gdb を使用してコア ダンプ ファイルを表示したいと考えています。私は次のことをしました
- 現在のディレクトリを確認しましたが、コアダンプファイルはありません
- /proc/sys/kernel/core_pattern を「core.%e.%p」という内容で変更してみました。しかし、私はファイルに書き込むことができません。「Fsync Failed」と表示されます。
- 「sudo vi /proc/sys/kernel/core_pattern」を使用しました。まだファイルに書き込めません。
現在のディレクトリにコア ダンプを作成したいと考えています。今何をする?