2006-06-14

Visual Studio 2005 のバグ?  [by miyachi]

C++/CLIを使っているので最近はすっかり Visual Studio 2005 をメインに使っている。ところが何度かあるソースファイルだけデバッガを起動するとブレークポイントが無効になる事があった。どうもソースが不一致と言っているようだがリビルドしても一旦こうなると駄目。CVSに上げたファイルを他のPCでソースだけ落としなおしても駄目。う~んと悩んでいてふと無効ブレークポイントの上にマウスカーソルを移動すると安易な解決法が出てきた。

Visual Studio 2003 には無かったと思うが、ツールメニューのオプションでデバッグのところに

「元のバージョンと完全に一致するソースファイルを必要とする」

と言う項目があり、とりあえずこれをオフにするとブレークポイントが再び利用可能になる。何台かの環境で再現していたので同様の事で悩まれている方がいるかもしれないのでブログに残します。

ところでこの現象は結構変だ。実はコメントなどに1バイト書き加えてしまえば再びブレークポイントが有効になるのだ!つまりあるパターン(ハッシュ値とか?)のソースファイルだけでこのソースの不一致だと思われてしまうようだ。これってやっぱりバグだよなあ…回避方法が判ったから良いけど。

あと考えられるのはC++を使っていて2005ではプロジェクトの文字セットがデフォルトでは「Unicode文字セットを使用する」になっているのを「マルチバイト文字セットを使用する」つまりShift-JISにしているせいなのかもしれない。

この現象ひょっとすると最新のパッチなどでは直っているのかもしれませんが、無視するオプションが存在すると言う情報でした。
2006-06-14 12:29:14 - miyachi - - [プログラミング] -