IT技術サポート総合サイト
 
 言語:  VC++/MFC   PHP/Perl   VB/VBA   ASP/ASP.net   HTML/CSS   基本知識:  Windows   Linux   ネットワーク   MySQL   レンタルサーバ   SEO対策
キーワード: RSS2.0配信
 
 
コラム集:Visual Studio Tips
←前コラム    目次    次コラム→    
 
ブレークポイントエラー:ソースコードが元のバージョンと異なります。
分類:VC++/MFC     著者:C15年     更新日付:2009/11/02
 
 
VisualStudio2008で開発している途中、いつのまにかブレークポイントがうまく動作しなくなった:
ブレークポイントがヒットしない!
ブレークポイントに止まらない!
で、ブレークポイントにマウスカーソルを持っていくと、

ブレークポイントは現在の設定ではヒットしません。ソースコードが元のバージョンと異なります。 

というメッセージ表示が出た。
(ちなみに、VisualStudio2005も同じ現象起きているらしい)

天下のMicrosoftさまは以下のように説明しているが:

プロジェクト内の複数のソースファイルに同じ名前が付いていると、デバッガはブレークポイントが設定されているファイルを判断できないことがあります。この問題は、リンク先のデバッグライブラリのコンポーネントと同じ名前を持つモジュールを作成した場合に頻繁に発生します。


俺の場合は、どうもそれと全然関係ないんだ!(恐らく、このページを見ている方もそうだろ?)、いい加減な説明をしないでくれよ!


そして、MS様は以下のような設定で解決できるとおっしゃった。

[オプション] ダイアログ ボックスで、[全般] カテゴリの [デバッグ] ノードにある [元のバージョンと完全に一致するソース ファイルを必要とする] をオフにします。



けど、それは、気持ちわるいんだよ!
なぜ、いままでちゃんとブレークしてくれたのに、
突然できなくなったの?!
やはり、設定ではなく、コーディングになにかあるような気がする…

それで、いろいろ試した。
原因イマイチわからないが、何とか解決できた!同じエラーを直面しているSEさんは、
以下の方法で試してください。

1)if文は、
if (a==b)
  c=0;
のような書き方をやめて、以下のように書き直してください。
if (a==b){
  c=0;
}

2) switch 文は、default節を省かないでください。


では、ご幸運を祈ります。
 
 
←前コラム    目次    次コラム→