当一个监视变量(不是一个属性,只是一个普通变量)发生变化以查看变化发生的位置时,是否有可能中断执行?我搜索并找到了this question,它涉及到它似乎不属于我正在寻找的属性。手表变量改变时暂停执行?
这个变量在几千行代码中被使用了几次,但是它只是在发生问题时从null
更改。我们正试图追查这个问题。
当一个监视变量(不是一个属性,只是一个普通变量)发生变化以查看变化发生的位置时,是否有可能中断执行?我搜索并找到了this question,它涉及到它似乎不属于我正在寻找的属性。手表变量改变时暂停执行?
这个变量在几千行代码中被使用了几次,但是它只是在发生问题时从null
更改。我们正试图追查这个问题。
+
,表明它是有条件的但是:坦率地说,我觉得FO更简单,更高效 - 特别是在田间;说我们先从:
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
}
}
}
并将断点放在最内行;这会绕过设置字段而不实际更改值的代码。
条件断点打破你放置他们的路线...我不明白这会如何导致它打破变量实际发生变化的地方。 set方法起作用,但是尝试了前者,而不是。 – 2017-07-27 14:34:02
优秀的解决方案!与Call Stack一起实现此方法很好。 – MQuiggGeorgia 2018-01-05 16:56:47
这个问题可能的重复:http://stackoverflow.com/questions/7488155/can-i-set-a-breakpoint-when-variable-is-getting-specific-value-in-net – 2013-02-14 11:39:45