ので、glibcのクラッシュは、それが* glibcの検出*クラッシュメッセージを持っている場合。その後、すべてが順調と良いオーバーライドglibcのクラッシュ
*** glibc detected *** ./odin: free(): invalid pointer: 0xbfba4444 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b161)[0xb75f9161]
/lib/tls/i686/cmov/libc.so.6(+0x6c9b8)[0xb75fa9b8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb75fda9d]
/usr/lib/libstdc++.so.6(_ZdlPv+0x1f)[0xb77da2ef]
のように、バックトレースの束を出力しますが、物事のクラッシュ、私は実際のポイントをバックトレース()を実行して、addr2lineにするためにシステムコールを使用して印刷してきた他の例その代わりに関数。しかしglibcのクラッシュ時には、私が呼び出したシグナルハンドラをバイパスして終了します。
これらのglibcのクラッシュに対してフックする方法はありますか?
うーん、私のプログラムはかなりしばらくの間、信号(SIGABRT、何とか)を持っていた、そして、彼らはトリガされませんでした(彼らは原料の束を印刷しているだろう)**編集**:彼らは実際にトリガをした、私だけのdidnそれを見ない。私もvalgrindを試してみるだろうが、何とか何もしなかった時はいつまでも捕らえられた。 – kamziro