0

VisualStudio デバッガーが「無限にスピン」またはハングする原因となる、再現可能な既知の状態、条件、または要求は何ですか?

(以下の元の質問が保留にされたため、言い直されました - 質問を保留にする決定を検討してください。これは、再現可能であり、デバッガーがキャッチしてブレークポイントの設定を拒否する「タイプミス」ほど単純ではないためです。処理できないことがわかっている他の条件。) 条件付きブレークポイントでデバッガーを使用しようとすると、VisualStudio が「無限に回転する」ことを他の誰かが観察しましたか? 「アプリで何かが起こる」ために、1つのCPUコアが「固定」された状態で5分以上待ちました。この間、visualstudio は 1 つの CPU コアの 75% 以上を使用しており、約 2 または 3% がアプリによって使用されていると報告されていました。一時停止しても効果がないように見えました。

奇妙なことに、条件付きブレークポイントを無効にした後、アプリが正常に実行を開始し、ログイン画面が表示されました。その後、条件付きブレークポイントを再度有効にして、条件付きブレークポイントをアクティブにしてデバッガーを使用し続けることができました。

4

1 に答える 1

1

VisualStudio 2012 update 4 のデバッガー / ide は、変数がブレークポイントが配置されている行で割り当ての結果を受け入れる場合、変数を評価する条件付きブレークポイントを処理できないことを警告または認識しないようです。

例えば:

public static class MyTest
{
    public static bool DoTesting = true;
}

DoTesting が true に設定されている行に条件付きブレークポイントを設定し、条件 MyTest.DoTesting == true を使用すると、VisualStudio のデバッガーが明らかに混乱し、スピンして残りのコードを実行できなくなります。「一時停止」ボタンを押しても、「一時停止」ボタンが「グレー表示」されるだけで、条件ステートメント行で停止することはありません。条件付きブレークポイントの作成を拒否するか、それについて不平を言うべきだと思います(処理できない他の条件と同様に)。これは、最初の割り当てであるか、値を再割り当てする行であるかに関係なく発生することに注意してください結果。

于 2014-01-17T22:08:05.243 に答える