2

マルチスレッドで、いくつかのブレークポイントを設定したプログラムがあります。多くの場合、プログラムがブレークポイントに到達すると、緑色で強調表示されたコード行が表示されます。これは、プログラムが現在の関数から戻ったときに実行される次のコード行であることを示しています。ただし、ヒットしたブレークポイントは、実際には別のスレッド、別のソースファイルにあります。この線は、実際に破損の原因となったスレッドであるにもかかわらず、黄色(またはその他)で強調表示されていません。

これまでに問題を解決するために私が見つけた唯一の方法は、プログラムの実行を停止し、ソリューションをクリーンアップして、ソリューション全体を再構築することです。これは約70%の効果がありますが、私は頻繁に何度かそれをしなければなりません。

関連する可能性のある追加情報:プログラムはC#で記述されており、問題のコードはMVCWebサイトによって呼び出されているWCFサービスです。これはすべて、ローカルマシンのIIS7で実行されています。

4

1 に答える 1

0

デバッグでは、あるスレッドから別のスレッドに移動できます。

デバッグ\ウィンドウズ\スレッド[ctrl-alt-h]

スレッドのリストが表示されます。

コード内に足を踏み入れるときは、スレッドを切り替える可能性があるので注意してください。最良のオプションは、他のスレッドをフリーズすることです。

于 2012-12-03T20:59:56.253 に答える