いろきゅうの(元)はてなダイアリー

はてなダイアリーから移行中…

Releaseビルドでブレークポイント

VC7.1で作成したプロジェクトは、リリースビルドでもブレークポイントが使えたり、ステップオーバーで1行ずつ(?)実行できたりするのに、VC6からインポートしたプロジェクトについては、それが出来ない… という問題に遭遇。
調査を開始してみたところ、ポイントは

  • 「構成プロパティ」->「C/C++」->「全般」->「デバッグ情報の形式」 で、"エディットコ(ry" 以外の何かを適当に指定する。"プログラムデ(ry" が良いかも? (/Zi, /Z7 などのコンパイラオプション)
  • 「構成プロパティ」->「リンカ」->「デバッグ情報の生成」に "はい" を指定する。 (/DEBUG リンカオプション)
の2つのような感じ。まぁ、詳しくは調べてないので、おとし穴がありそうな感じもしますけれどー。^^;

つか、今までずっと「C/C++」の方だけ値をセコセコ変えてたよ…。リンカオプションも弄らないといけないことに気づいたときはちょっとショック。(苦笑


…でー、もう一つ報告なんですが、/DEBUG リンカオプションって、VC6にも用意されてる事を発見。(つか良く考えてみれば、無いとデバッグできないんでしょうけど…。)
ってことはですよ? 同じオプションつけてあげれば、VC6でもリリースビルドでブレークポイントが仕掛けられる…

実験結果:
VC6リリースビルドでブレークポイントが仕掛けられました
http://ir9.jp/hd/ts041228_00.png

…まぢですか。orz
デバッグビルドでしか動かなくて苦労した数年間はなんだったんだ…(号泣



ちなみにですが、最適化がかかったコードをステップオーバーしていくことになる為、ソースコード通りにステップオーバーできない事が多いので注意です。ついでに、ウォッチウィンドウもさほど使いものにならないかもしれません。^^;

がー、ブレークできたことに大きな意味合いがあるわけでっ!!