例外処理に関するエラーについて – プログラミング – Home

例外処理に関するエラーについて
 
通知
すべてクリア

例外処理に関するエラーについて


さるおさる
 さるおさる
(@さるおさる)
ゲスト
結合: 19年前
投稿: 5
Topic starter  

はじめまして。

VC++で作成したプログラムを動かそうとしたら

例外処理 (初回) は AFLRMONI.exe (COMCTL32.DLL) にあります: 0xC0000005: Access
Violation。

のようなエラーが出ました。

OSはXP-SP2です。

どこを調べても意味がわからないので、どなたかご存知ならご教授ねがいます。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

読み書きしてはならないメモリにアクセスしてしまったということです。
AFLRMONI.exe の中で COMCTL32.DLL の関数を呼び出している所で、引数が不正な可能性
が高いです。
それ以上のことはわかりません。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

シャノンさんが解答していますが、これはビルド時には発見できないプログラマのミス
によってでるものです。

どこで、メモリを不正にアクセスしているか絞り込んでみてください。
ブレイクポイントをいくつか適当に設置して、F5実行でここまでは実行できている、こ
こからはダメだ。じゃぁもう少しブレイクポイントの間隔を狭めて再度やってみようと
いう具合にして突き止めてください。


返信引用
さるおさる
 さるおさる
(@さるおさる)
ゲスト
結合: 19年前
投稿: 5
Topic starter  

シャノンさん、Blueさん、回答ありがとうございます。

ビルドをする時に「Debug」ですると、実行できないのですが
「Release」でするとちゃんと実行できます。

「Debug」の時のみ例外処理エラーになるのですが

この2点には何か違いがあるのでしょうか?

更にOSがXP-SP1で実行した場合はXP-SP2で実行した時とは反対になります。

「Debug」ではちゃんと実行でき、「Release」ではエラーになります。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> 「Release」でするとちゃんと実行できます。
は実行できているように見えるだけです。

デバッグビルドとリリースビルドの違いについて
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vccore98/html/_core_common_problems_switching_from_debug_to_release_build.as
p

焦らずに、Debugモードでデバッグしてください。


返信引用
さるおさる
 さるおさる
(@さるおさる)
ゲスト
結合: 19年前
投稿: 5
Topic starter  

ありがとうございます。

ではデバッグで原因を突き止めてみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました