有什么方法可以在Visual Studio调试器引起操作时触发断点? 例如,假设我有以下内容(我知道你不应该这样做,只是为了论证而使用它):
public class Test
{
int _X = -1;
public int X {
get { return ++_X; } //Breakpoint here
set { _X = value; }
}
}
和
static void Main(string[] args)
{
Test t = new Test();
t.X = 1; //Breakpoint here
return;
}
如果你在Main中的断点暂停,每次你将鼠标指针悬停在“t.X”上 (假设您启用了以下调试选项 - “启用属性评估和其他隐式函数调用”)或者您在“监视”窗口中评估属性 - 它将增加属性,但属性的“get”访问器中的断点不会被击中在更具体的上下文中重新提问 - 在调试器完成评估时,有没有办法在属性的“get”访问器中点击断点?
答案 0 :(得分:2)
经过对该主题的一些研究后,我了解了FuncEval,在阅读了很多关于FuncEval的内容后,我被引入了以下文章: SteveJS先生Stop Mid Func Eval, Nested Break States。 在文章中他解释说,从VS2005开始,如果评估是从“Immidiate Window”而不是Watch或“Quick Watch”窗口完成的,那么你可能会遇到由FuncEval引起的断点。所以,在上面的例子中,输入
?t.X
立即窗口中的导致get访问器上的断点被命中。
答案 1 :(得分:0)