はじめまして、狼太郎と申します。
質問なのですが、
このサイトのC言語~ゲームプログラミング
でプログラムを勉強しています。DXライブラリの設定も終わり、やり始め、
ようやく
~ゲーム入門編~までたどりついたのですが
17章の画像を分割して読み込む所で
DxLib_VC2005用.exe の 0x100031e5 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xfeeeff52 を読み込み中にアクセス違反が発生しました。
DXライブラリのプログラムをデバックしようとすると一応言うことはききグラフィックも表示されるのですが、一回一回上記のエラーがでてデバックが終了しません。
以前まではこんなことはなかったのですが、それまで正常に動かせていたプログラムも同様のエラーが発生するようになりました。
DXライブラリの再ダウンロードもためして、設定しましたが直りません。
解決策がありましたら教えてください。
C言語のデバック中に
Re:C言語のデバック中に
う~ん、詳しくないので良く分かりませんが、
①プロジェクトの設定を間違えている
②ソースが間違っている(どうやらこれは無さそうですが・・・)
③PCの不具合
解決策は
①プロジェクトの設定をしっかり見直す。
②ソースで間違っている場所を直す。
③PCを再起動してみる。
でしょうか?
頼りにならなくてすいません。
①プロジェクトの設定を間違えている
②ソースが間違っている(どうやらこれは無さそうですが・・・)
③PCの不具合
解決策は
①プロジェクトの設定をしっかり見直す。
②ソースで間違っている場所を直す。
③PCを再起動してみる。
でしょうか?
頼りにならなくてすいません。
Re:C言語のデバック中に
今まで動いていた(動いていた当時の)プログラムが動かなくなっているのであれば、
読み込む画像ファイルに問題があるかもしれません。
読み込む画像ファイルは正常なものでしょうか?
・読み込む画像ファイルが壊れていないか(画像を開いてきちんと表示されるかどうか)
・読み込む画像ファイルがちゃんとした場所にあるかどうか
・同じサイズの適当なファイルに差し替えてみる
・デバッグ出力ログを見る
それぞれ確かめてみてください。
読み込む画像ファイルに問題があるかもしれません。
読み込む画像ファイルは正常なものでしょうか?
・読み込む画像ファイルが壊れていないか(画像を開いてきちんと表示されるかどうか)
・読み込む画像ファイルがちゃんとした場所にあるかどうか
・同じサイズの適当なファイルに差し替えてみる
・デバッグ出力ログを見る
それぞれ確かめてみてください。
Re:C言語のデバック中に
> RFVibra2.dll!100031e5()
[下のフレームは間違っているか、または見つかりません。RFVibra2.dll に対して読み込まれたシンボルはありません。]
と履歴にあります。
[下のフレームは間違っているか、または見つかりません。RFVibra2.dll に対して読み込まれたシンボルはありません。]
と履歴にあります。
Re:C言語のデバック中に
>DXライブラリのプログラムをデバックしようとすると一応言うことはききグラフィック
>も表示されるのですが、一回一回上記のエラーがでてデバックが終了しません
情報が少なすぎて断定はできないのですが、これは起動すれば絵が表示されるけど、
ウインドウを閉じて終了しようとしたときにエラーが出る、ということでしょうか?
もしそうであるなら、ひょっとして USBか何かのゲームパッドが刺さっていませんか?
もし刺さっていたら抜いて試してください。
Re:C言語のデバック中に
>はわかったんですけどなんでUSBやらゲームパッドを差してると上記のエラーが出るんでしょうか?
以前に似たような質問がありました。
C言語何でも質問掲示板
ttp://www.play21.jp/board/formz.cgi?action=res&resno=26114&page=&lognum=82&id=dixq&rln=26163
今のところ症例が少ないので、原因ははっきりとしてないのですが、
どうも相性が悪い USBゲームパッドがあるみたいで、DxLib_End()の中の
ゲームパッドデバイス解放がらみ(ベンダーから提供されているドライバーの中っぽい)で
落ちているようです。
現状対策としては、関連ドライバを最新にする、そのパッドを使用しないくらいしかないのですが、
最悪 DxLib_End()の構造化例外を拾ってあげればとりあえず落ちなくなる可能性はありますね。