方法 : ウォッチ値を再表示する
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro、Premium、Ultimate |
デバッガーで式を評価すると、2 つの更新アイコンのどちらかが [値] 列に表示されることがあります。 一方の更新アイコンは、逆方向に弧を描く 2 つの矢印を含んだ円です。 もう一方の更新アイコンは、スレッドに似た 2 本の波線を含んだ円です。
これらのアイコンは、デバッガーに表示されている値が最新の値ではないことを示します。 値は正しいかもしれませんが、古い値です。 最新ではないことを強調するために、値は灰色で表示されます。 アイコンをクリックすると強制的に評価できますが、アイコンの意味とそのために生じる結果について理解しておく必要があります。
このアイコンをポイントすると、式が評価されなかった理由がツールヒントに表示されます。
弧を描く矢印が表示された場合、式が評価されなかった理由は次のいずれかです。
式の評価中にエラーが発生しました。 たとえば、タイムアウトが発生した場合や、変数が適用範囲外になった場合などです。
式の評価で、プロパティの評価または暗黙的な関数呼び出しの生成が必要になりました。 プロパティの評価および暗黙的な関数の呼び出しには、プログラムの状態に影響を与える副作用がある場合があります。 このような作用によってデバッグが困難になる可能性があるため、デバッガーによるプロパティの自動的な評価および暗黙的な関数の呼び出しは、多くの場合、オフになっています。 場合によっては、プログラマが自動的な評価を誤ってオフにしてしまうこともあります。 副作用の詳細については、「副作用と式」を参照してください。
2 つのスレッドが表示された場合、式が評価されなかったのは、スレッド間の依存関係がある可能性があるためです。 スレッド間の依存関係があると、コードの評価で、アプリケーションの他のスレッドを一時的に実行することが必要になります。 中断モードの場合、通常、アプリケーションのすべてのスレッドは停止されます。 他のスレッドを一時的に実行できるようにすると、プログラムの状態に予測できない影響を及ぼすことがあり、ブレークポイントなどのイベントがデバッガーで無視される可能性があります。
古い値を更新するには
次のいずれかの操作を実行します。
更新アイコンをクリックします。
値を選択し、Space キーを押します。
デバッガーで、式の再評価が試行されます。 プロパティの自動的な評価と暗黙的な副作用がオフになっていたために更新アイコンが表示された場合、式が評価されるようになります。
自動的なプロパティ評価のオンとオフを切り替えるには
[ツール] メニューの [オプション] をクリックします。
[オプション] ダイアログ ボックスで、[デバッグ] ノードを展開し、[全般] をクリックします。
[デバッグ] ノードが表示されない場合は、[すべての設定を表示] をクリックします。
[プロパティの評価とその他の暗黙的な関数の呼び出しを常に有効にする] チェック ボックスをオンまたはオフにし、[OK] をクリックします。