【回答】
signal 11 (セグメンテーションフォルト) を発生させるサンプルプログラムを紹介します。
以下のtest.c というファイルをコンパイルして実行してください。メモリアクセス保護違反が発生してプログラムが異常終了します。
【test.c】
-------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *buf;
fgets(buf, 1024, stdin);
printf("%s\n", buf);
return 1;
}
--------------------------------------------------------
以下で上記の test.c をコンパイル、実行します。
# gcc -g test.c
# ./a.out
this is a test
セグメンテーション違反です
# cat /var/log/messages
Oct 17 13:01:50 rhel5 kernel: a.out[8007]: segfault at 0000000000000000 rip 00000030a0061966 rsp 00007fff6597a980 error 6
(*)本ページは Redhat Enterprise Linux 5以後を想定しています。
最終更新日:2013/11/05
[Redhat Enterprise linux 6(EL) FAQ トップへ]
[FAQ CENTER トップ]