私のアプリケーションがセグメンテーションフォルトでクラッシュしたとき、システムからコアダンプを取得したいと思います。私は手を前にLinux:セグメンテーションフォルトを処理してコアダンプを取得する
ulimit -c unlimited
を設定することで、私はまた、セグメンテーションフォールトが発生した私のアプリケーションログの表示がしたいことをやります。私はsigaction()
を使ってそれを行います。しかし、私がそれを行うと、シグナルはデフォルトの処理には達しず、コアダンプは保存されません。
どうすればシステムコアのダンプと同時に自分のシグナルハンドラからのログラインをダンプすることができますか?
詳細を教えてください。 – Short
私は恐れることができません。 – shoosh
これは私がテストしていたRedhat 6のバージョンでは動作せず、ハンドラがリセットされない回帰ループが発生します。これは、sigactionを呼び出すときに古いハンドラを保存し、明示的にSIGSEGVハンドラでそれをリセットすると機能します。 – phenompbg