VC7.1で作成したプロジェクトは、リリースビルドでもブレークポイントが使えたり、ステップオーバーで1行ずつ(?)実行できたりするのに、VC6からインポートしたプロジェクトについては、それが出来ない… という問題に遭遇。
調査を開始してみたところ、ポイントは
- 「構成プロパティ」->「C/C++」->「全般」->「デバッグ情報の形式」 で、"エディットコ(ry" 以外の何かを適当に指定する。"プログラムデ(ry" が良いかも? (/Zi, /Z7 などのコンパイラオプション)
- 「構成プロパティ」->「リンカ」->「デバッグ情報の生成」に "はい" を指定する。 (/DEBUG リンカオプション)
つか、今までずっと「C/C++」の方だけ値をセコセコ変えてたよ…。リンカオプションも弄らないといけないことに気づいたときはちょっとショック。(苦笑
…でー、もう一つ報告なんですが、/DEBUG リンカオプションって、VC6にも用意されてる事を発見。(つか良く考えてみれば、無いとデバッグできないんでしょうけど…。)
ってことはですよ? 同じオプションつけてあげれば、VC6でもリリースビルドでブレークポイントが仕掛けられる…?
実験結果:
VC6リリースビルドでブレークポイントが仕掛けられました。
…まぢですか。orz
デバッグビルドでしか動かなくて苦労した数年間はなんだったんだ…(号泣
ちなみにですが、最適化がかかったコードをステップオーバーしていくことになる為、ソースコード通りにステップオーバーできない事が多いので注意です。ついでに、ウォッチウィンドウもさほど使いものにならないかもしれません。^^;
がー、ブレークできたことに大きな意味合いがあるわけでっ!!