ページ 11

デバッグが.dll読み込みで止まってしまう現象

Posted: 2012年2月05日(日) 14:31
by ちる
こんにちは。ゲーム作成でどうしても詰まったので質問しに参りました。

デバッグが.dll読み込みで止まってしまう現象に頭を抱えています。

ビルドでエラーは出てないのですが、毎回同じ所(xxx.exe': 'C:\WINDOWS\system32\comctl32.dll' を読み込みました)で止まってしまいます。

他のPCで試してみても同じ結果になりました。
他のプロジェクトは正常に動作します。

ソースを削ってどこがエラーの原因なのかを突き止めようとしましたが分かりません。

出来る限り小さくしたプロジェクトをアップローダにあげておきましたので、
http://www1.axfc.net/uploader/H/so/152157&key=abc123
もしよろしければお力を貸して下さい。

Re: デバッグが.dll読み込みで止まってしまう現象

Posted: 2012年2月05日(日) 15:09
by softya(ソフト屋)
読み込みでは止まりませんでしたが終了時に止まりました。
'gothloli.exe': 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll' をアンロード
gothloli.exe の 0x00000000 で初回の例外が発生しました: 0xC0000005: Access violation
gothloli.exe の 0x00000000 でハンドルされていない例外が発生しました: 0xC0000005: Access violation
何箇所もProcessMessage()がある良くない作りをしているので、まずこれを直されたほうが良いと思います。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ] 補足資料.11章 書いてはいけない4つの処理」
http://dixq.net/g/h_11.html

エラーの状況的にはDXライブラリが終了しているにGetHitKeyStateAll()を呼び出したことにあります。
Log.txtを抑止していますが、有効にして確認してみてください。「ソフトを終了する準備が整いました」と終了状態であることが分かると思います。

Re: デバッグが.dll読み込みで止まってしまう現象

Posted: 2012年2月05日(日) 20:30
by ちる
回答ありがとうございます。
読み込みでは止まりませんでしたが終了時に止まりました。
Visual Studio2008ではDLL読み込みで止まり、Visual Studio2010では終了時に
'gothloli.exe': 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll' をアンロード
gothloli.exe の 0x00000000 で初回の例外が発生しました: 0xC0000005: Access violation
gothloli.exe の 0x00000000 でハンドルされていない例外が発生しました: 0xC0000005: Access violation
という例外が発生する事を確認しました。

Visual Studio2010でエラーの出る箇所をコメントアウトした所、正常に動作しましたので解決とさせて頂きます。

追伸 softyaさんの指摘のあった場所を直しておきます。