コアダンプ追跡

大体俺がよく出すバグはコアダンプなので、デバッガを使ってそれを追跡する方法について。
コンパイルするときに、

cc -g -O0 hoge.c

にしてコンパイル
ついでに、

$ ulimit -c unlimited

にしてコアダンプをださせるようにする。そして、a.outを実行。で、まんまとエラーが起こって、停止するので、デバッガを起動してみる。そのときにコアダンプが出た場所がcoreというファイルに保存されてるので、それを参照しつつ、デバッガを起動するらしい。

$ gdb a.out core

そうするとコアダンプが起こったあたりまで行ってくれるらしい。ので、あとはbacktraceなり、displayなり、nextなり使ってデバッグすればいいらしい。

http://rat.cis.k.hosei.ac.jp/article/devel/debugongccgdb2.html