Access Violationを回避するためには?

解決


勉6号  2008-09-10 12:03:05  No: 68978  IP: 192.*.*.*

お世話になっております。

Visual C++ 6.0で作ったプログラムを実行すると、
突然プログラムが終了します。

デバッグしたところ、「ハンドルされていない例外はSample.exe(NTDLL.DLL)にあります。:0xC0000005:Access Violation。」というメッセージが出てきます。Sample-Microsoft Visual C++[停止]-[混合モード]というwindowの7C96A91B push edi  というステイトメントに矢印が表示されます。

このAcccess Violationを回避するために、どのようにしたらよいでしょうか。
宜しくお願いいたします。

編集 削除
かもねぎ  2008-09-10 13:21:39  No: 68979  IP: 192.*.*.*

http://m--takahashi.com/bbs/pastlog/12000/11942.html
参考になりますか?

編集 削除
仲澤@失業者  2008-09-10 13:22:27  No: 68980  IP: 192.*.*.*

そのプログラムには「重大な誤り」が含まれています。
「重大な誤り」を修正してコンパイルしなおす以外に
回避の方法はありません。また、Access Violationの
原因は1種類ではないため、一般に、その原因は見つけ
にくいのが特徴です。

最も希望が持てる手段は、作った人に直してもらうことです。

編集 削除
勉6号  2008-09-11 18:14:56  No: 68981  IP: 192.*.*.*

かもねぎさん,仲澤@失業者さん,返信ありがとうございます.

プログラムの中で,同じ作業を何度も繰り返すところがあるのですが,
一回の作業を終えたところでのsleepの時間を長くしたら,エラーが出なくなりました.

お知らせいただいたページも読んでみましたが,
いまだにどうしてエラーが出たのかよく分からないです...
確かに原因が見つけにくいですね.
自分で作ったプログラムなので,よくよく見直してみようと思います.

編集 削除