ACCESS VIOLATION をつかまえてごにょごにょしたい(1)

windows で NULL アクセスすると発生する「あれ」。「あれ」を捕まえて色々やりたいなーと、ふと思いまして。

まずは、C 言語で NULL アクセスするプログラムを作ってみました。

int
main(int argc, char *argv[])
{
  int *p = 0;
  *p = 1;
  return 0;
}

実行結果は画像のとおりです。よく見ます。

まず最初に画像に表示されている情報を整理すると、

null_access.exe
NULL アクセスを発生させるために作ったプログラムの名前
0x00411398
この「あれ」が発生した際に実行していた命令のアドレス, いわゆる PC (Program Counter)
ハンドルされていない例外が発生しました
例外処理をなにも行なっていないので、こんな風に怒られちゃいました
0xC0000005
この「あれ」が発生した際の「例外コード」といわれるもの, 具体的には EXCEPTION_ACCESS_VIOLATION
0x00000000
アドレス 0x00000000 に何か書き込もうとしたようだ(*p = 1 のこと)

今日はここまで。