VS全般 突然ブレークポイントが無効になった時の対処法 | 株式会社リッカWebサイト

株式会社リッカ

BLOG
ブログ詳細

2016-02-23VS全般 突然ブレークポイントが無効になった時の対処法

 

環境

(たぶん環境依存なしC#とかも治ると思う、たまに出てきて同じ対処していたので…)

Windows8.1
VC2008

現象

デバッグ中にちょこちょこっと直して、コンパイル、ハイ実行!!
あれ?さっきまでブレークできてたのに止まらない…
よく見るとブレークポイントが無効に…

デバッグできる所から中に入って行こうとすると、
「ソースファイルがモジュールがビルドされたときのものと異なります。デバッガでこのファイルを使用しますか?」
なんて表示されてデバッグできません。

err_source_dlg

デバッグがのってきた時にこれですよ!!

対処法

2つ方法があります。

1.デバッグオプションの変更

ツール – オプションでオプション画面を開いて、
デバッグ – 全般から
「元のバージョンと完全に一致するソースファイルを必要とする」
にチェックが入っていたら外します。
これで、意味の分からない作業ストッパーと今後バイバイできます。

option_source_1

デメリット

本当にソースファイルとモジュールがビルドした時の物と異なってもデバッグできてしまうので、
このチェックを外したら今後操作ミスに気を付けてください。
本当に違うときはポインタとか変なところ指したりすることもあるので気を付けてください。

2.全角コメントを追加する

該当のファイルに適当に全角でコメントを入れます。
その後ビルドしなおして実行すれば、なぜかなおります。

デメリット

余計なコメントが入ってうっとおしい。
なので今あるコメントの文末に、全角スペースとか入れると目立たなくていいかもしれません。

原因

今回の原因はよくわかりませんが、
ソースファイルとモジュールがビルドした時の物と異なっているのが原因です。
ただ、ビルドしてから変更を加えていないと思いますので、
Visual Studioがなんかしらの原因で誤動作していると思われます。

なので慌てずコメントを追加することをお勧めします。
ただし、コードレビューの時に「なんかデバッグできないんでコメント入れたんっすよ」
と言ってレビューアに怒られても責任はとりせんのであしからず。
(ちゃんと説明して、余計なコメントが入ることに対して許可を取りましょう。と言うことです。)