VS全般 突然ブレークポイントが無効になった時の対処法
環境
(たぶん環境依存なしC#とかも治ると思う、たまに出てきて同じ対処していたので…)
Windows8.1
VC2008
現象
デバッグ中にちょこちょこっと直して、コンパイル、ハイ実行!!
あれ?さっきまでブレークできてたのに止まらない…
よく見るとブレークポイントが無効に…
デバッグできる所から中に入って行こうとすると、
「ソースファイルがモジュールがビルドされたときのものと異なります。デバッガでこのファイルを使用しますか?」
なんて表示されてデバッグできません。
デバッグがのってきた時にこれですよ!!
対処法
2つ方法があります。
1.デバッグオプションの変更
ツール – オプションでオプション画面を開いて、
デバッグ – 全般から
「元のバージョンと完全に一致するソースファイルを必要とする」
にチェックが入っていたら外します。
これで、意味の分からない作業ストッパーと今後バイバイできます。
デメリット
本当にソースファイルとモジュールがビルドした時の物と異なってもデバッグできてしまうので、
このチェックを外したら今後操作ミスに気を付けてください。
本当に違うときはポインタとか変なところ指したりすることもあるので気を付けてください。
2.全角コメントを追加する
該当のファイルに適当に全角でコメントを入れます。
その後ビルドしなおして実行すれば、なぜかなおります。
デメリット
余計なコメントが入ってうっとおしい。
なので今あるコメントの文末に、全角スペースとか入れると目立たなくていいかもしれません。
原因
今回の原因はよくわかりませんが、
ソースファイルとモジュールがビルドした時の物と異なっているのが原因です。
ただ、ビルドしてから変更を加えていないと思いますので、
Visual Studioがなんかしらの原因で誤動作していると思われます。
なので慌てずコメントを追加することをお勧めします。
ただし、コードレビューの時に「なんかデバッグできないんでコメント入れたんっすよ」
と言ってレビューアに怒られても責任はとりせんのであしからず。
(ちゃんと説明して、余計なコメントが入ることに対して許可を取りましょう。と言うことです。)
はじめまして
突然デバッグできずに困っていたのです、
このページにある通り、全角コメントを入れたら無事に治りました。
とても助かりました。
ありがとうございます。