2016-11-09 3 views
1

Linux CでSIGABRTのデフォルトハンドラのソースコードを見たかったのですが、見つけられませんでした。それを見つけるのを助けてもらえますか?デフォルトのシグナルハンドラ関数のソースコードを見つけるにはどうすればよいですか?

+0

Linux C?あなたはLinuxカーネルのシグナルハンドラを意味するのですか? –

+0

SIGABRTのユーザレベルのデフォルトのシグナルハンドラはありません。 SIGABRTのデフォルトの動作はコアダンプで終了することです。これはすべてユーザーレベルのコードではなく、カーネルによって処理されます。 –

答えて

1

http://lxr.free-electrons.comは、Linuxカーネルのソースを読むのに最適です。

SIGABRTのクイック検索を実行すると、SIG_KERNEL_COREDUMP_MASKマクロでのみ使用されていることがわかります。このマクロは、sig_kernel_coredumpによって排他的に使用されます。

このマクロの使用方法を調べると、信号ハンドラが実行される場所がkernel/signal.c:2301になります。

これはman pagesに対応しています。つまり、SIGABRTのデフォルトアクションは、プロセスを終了してプログラムのコアメモリをダンプすることです。

関連する問題