Ubuntu で core ファイルがでてこない!
はいはい、ulimitの設定してないからでしょ、と、
$ ulimit -c unlimited
なんで?コンパイルオプションにちゃんと -g もつけてるし...
と思ってググったら、 apport とかいうわけわからんやつになってしまっている。
わけがわからんものは無効にするのがよいので(笑)、無効にしてカレントディレクトリに出力されるように変更した。
coreの出力先を変更する
coreが出るときのcoreパターンというのを見てみると、
$ cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c %d %P %E
ので、coreがカレントに出てこない。
$ sudo vi /etc/sysctl.conf
kernel.core_pattern = core.%e.%p
を追記すればcoreパターンが変更される。
と思ったら、再起動するたびにapportがゾンビのように復活するので、
$ sudo vi /etc/default/apport
enabled=0
とenabledを1から0にしたらOK。
これで再起動したらcoreがカレントにでる。
毎回ulimit -c unlimitedするのが面倒なら、
$ sudo vi /etc/security/limits.conf
#* soft core 0
→
* soft core unlimited
以上!