DirectXのDXUTをRelease版起動時に描画が異常

[戻る]
Directer 2010/06/03(木) 12:47:59
DirectXのDXUTを使ったプログラムをしています。

環境はVC++2005です。
実行環境が異なると、
描画するコンポーネントの状態が変わってしまい
困ってます。

VC++から実行したDebug版→正常
VC++から実行したRelease版→正常
Debug版のEXEファイル起動→正常
Release版のEXEファイル起動→異常

異常内容は描画すべきTEXT文字が描画されていなかったり、
FillRectした背景が描画されていなかったりします。

何か実行環境が異なる事で、
Render処理に影響うけることがあるのでしょうか?

PATIO 2010/06/03(木) 16:46:58
影響が云々と言うよりも潜在バグが表に出ただけなんじゃないか
と言う気がします。

動いているから正常と言うのは実は危険な考え方です。
動かし方を変えたら動かないとか動作が変わるというような場合、
潜在的なバグが動作環境の変化で顕在化したと考えた方がよいと
思います。

まずは描画周りでおかしなコードがないかの確認を行った方が
良いと思います。メモリの不正アクセス系のバグだと原因箇所と
顕在箇所がかなり離れているケースもありえます。
その場合、バグの原因を究明するのが難しくなります。

Directer 2010/06/03(木) 17:26:28
[[解決]]
潜在バグ、、、初めて聞きました。

非常に勉強になります。

仰る通り作成したコードをいろいろ探した結果、
メンバ変数の初期値の設定が行われていないため、
リリース版の場合のみ影響が出てしまってました。

コーディング方法ではなく、
リファクタリングバグを少なくするノウハウを、
勉強しなくてはいけないなと考えさせられました。


もし、勉強になるサイトなどあれば教えてくれませんか?

有難うござました。

古いスレッドには追加発言できません。