当监视变量(不是属性,只是普通变量)发生变化时,是否可以中断执行以查看更改发生的位置?我搜索并发现this question与我看来的属性有关。
此变量在几千行代码中多次使用,但只在问题发生时才从null
更改。我们正试图追踪这个问题。
答案 0 :(得分:5)
+
来表示它是有条件的但是:坦率地说,我发现以下更简单,更有效 - 特别是对于田地;我们先说:
string name;
我们将暂时改为:
private string __name;
string name {
get { return __name; }
set { __name = value; }
}
并在set
行放置一个断点。它仍然应该编译,你可以轻松地看到变化。对于更复杂的情况:
private string __name;
string name {
get { return __name; }
set {
if(__name != value) {
__name = value; // a non-trivial change
}
}
}
并将断点放在最内线;这会绕过设置字段而不实际更改值的代码。