コードをデバッグ/ステップ実行しているときに時計の変数を調べようとすると、関数評価のタイムアウトを示すすべての内部変数に対してエラーが発生します。デバッグ/ステッピングで変数を調べるときに機能評価がタイムアウトする
これはなぜ、どのように回避するのですか?私のコードをデバッグする能力に影響を与えます。
これはVS2010 Premiumの範囲内です。
コードをデバッグ/ステップ実行しているときに時計の変数を調べようとすると、関数評価のタイムアウトを示すすべての内部変数に対してエラーが発生します。デバッグ/ステッピングで変数を調べるときに機能評価がタイムアウトする
これはなぜ、どのように回避するのですか?私のコードをデバッグする能力に影響を与えます。
これはVS2010 Premiumの範囲内です。
この問題の最も一般的な原因は、プロパティの暗黙の評価またはCLR評価スレッドで問題を引き起こすToString
メソッドです。これを確認するには、暗黙の評価を無効にします。
を。
ビジュアルスタジオでは、高価な作業を行うために時間がかかると、この値を取得するためにプロパティgetterを実行します。
public class foo
{
private object lockObject = new object();
public int bar
{
get
{
lock(lockObject){
return 42;
}
}
}
public int aMethod()
{
lock(lockObject)
{
var a = this.bar;
return a*2; //insert a break point here
}
}
}
デバッガは、そうすることが、それはロックオブジェクトを取得する必要があるため、バーのプロパティを評価することはできませんaMethodでreturn文にブレークポイントを追加した場合、それはできません。考えますブレークポイントがアクティブな間にプログラムがそのロックを永久に保持するので、これを行うことができます
これは私の再帰呼び出しであることが判明しました。プロパティのget()メソッドでは、プライベートバッキングフィールドの代わりにpublicプロパティを返していました。おっとっと。 – Induster