デバッグ作業中にブレークポイントを設定してからデバッグを開始したら、ブレークポイントのマークが赤い丸じゃなくて黄色で?マークが付いたものにいきなり変わった。なんぞこれ?とは思ったけど、特に気にせずにデバッグ作業をやってみるとブレークポイントに引っかからない。その?マークがついた黄色い丸のブレークポイントの変わりに現れたものにマウスカーソルをのっけてみると、
ブレークポイントは現在の設定ではヒットしません。ソースコードが元のバージョンと異なります。
という風に怒られる。いきなりそんなこと言われても全然思い当たる節がない。とはいってもデバッグできないと困るのでエラー内容に書いてある解決方法の、ツールのオプションからデバッグを選択して、その全般の”元のバージョンと完全に一致するソースファイルを必要とする”のチェックをはずすということを設定した。これで、ブレークポイントで止まるようになった。が、しかし、デバッグの止まり方がおかしい・・・。ステップインで一行ずつ処理を追いかけてみると、if文の分岐でその中身を全部通過している。っていうか分岐していない。そういえばいつものvisual studioのエディタの見た目もなんかおかしい。(ブロックの始まりの一文がなんか背景がグレーっぽい色になってるし)
と、色々焦りまくって試行錯誤した結果私が発見した強引な対処法。
- デバッグでステップインの進行が怪しい関数をひとまず切り取る。
- すると、コンソールにエラーがズラーっと表示される。宣言がされてないとかメンバーじゃないとかめちゃくちゃ怒られる。
- めいいっぱい怒られた後で、切り取った関数をもとにあった場所へ貼り付ける。
このようなことをやってみたら、私の環境では直りました。同じような現象になっている人はやってみると直るかもしれません。
私の場合1文字追加するか削除したら直りました
それだけでよかったんですね(^^;
ソース変更したらまた、発生しました。
今度は修正した行にスペースを2箇所入れたら直りました。バッファオーバーランのような不正アドレスを参照しているのでしょうかね?
私の場合は何の前触れもなくいきなり発生しました。一度発生したっきりそれ以来は何事も起こっていないです。
visual studioはこれ以外にもフォーム内容がいきなり全部消えるといった不具合もしょっちゅう起こっているので、慣れるしかないでしょうね