1
Linux CでSIGABRTのデフォルトハンドラのソースコードを見たかったのですが、見つけられませんでした。それを見つけるのを助けてもらえますか?デフォルトのシグナルハンドラ関数のソースコードを見つけるにはどうすればよいですか?
Linux CでSIGABRTのデフォルトハンドラのソースコードを見たかったのですが、見つけられませんでした。それを見つけるのを助けてもらえますか?デフォルトのシグナルハンドラ関数のソースコードを見つけるにはどうすればよいですか?
http://lxr.free-electrons.comは、Linuxカーネルのソースを読むのに最適です。
SIGABRT
のクイック検索を実行すると、SIG_KERNEL_COREDUMP_MASKマクロでのみ使用されていることがわかります。このマクロは、sig_kernel_coredumpによって排他的に使用されます。
このマクロの使用方法を調べると、信号ハンドラが実行される場所がkernel/signal.c:2301になります。
これはman pagesに対応しています。つまり、SIGABRTのデフォルトアクションは、プロセスを終了してプログラムのコアメモリをダンプすることです。
Linux C?あなたはLinuxカーネルのシグナルハンドラを意味するのですか? –
SIGABRTのユーザレベルのデフォルトのシグナルハンドラはありません。 SIGABRTのデフォルトの動作はコアダンプで終了することです。これはすべてユーザーレベルのコードではなく、カーネルによって処理されます。 –