09/07/10 00:14:27
質問です。
Releaseビルドでかつ、
プログラム データベース (/Zi)
を指定した場合、ブレークポイントなどを有効にしたデバッグ起動ができますが、
その際に変数の中身がめちゃくちゃな情報になってしまいます。
未初期化の変数に変な値が入っているのはわかるのですが、
bool b = true;
// まったく関係ない計算などを行う
// ここで、なぜかbがfalseになっている
if (b)
{
//が、ステップ実行するとこちらに処理が流れる
}
メモリー破壊などありえないような小さなプログラムでもこの現象が起きます。
こういう仕様なのでしょうか?(最適化と、PDBの相性が悪い?)
使っているのはExpressです