[FAQ CENTER トップ]
[Redhat Enterprise linux 6(EL) FAQ トップへ]





【質問】signal 11 (セグメンテーションフォルト) を発生させるサンプルプログラム

環境:Redhat Enterprise linux 6(EL)

【回答】
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 トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2012