是否有一种方法可以将一个手表放在变量上,并且只在该值发生变化时才有Visual Studio中断?

这将使找到棘手的州问题变得容易得多。

这能做到吗?

断点条件仍然需要断点设置,我宁愿设置一个监视表,让Visual Studio在状态更改时设置断点。


当前回答

您可以选择重载变量的=操作符,并且可以在特定条件下将断点放在重载函数内。

其他回答

可以在非托管代码中使用内存观察点。但不确定这些在托管代码中是否可用。

在Visual Studio 2015中,你可以在自动实现属性的set访问器上放置断点,当属性更新时,调试器将中断

public bool IsUpdated
{
    get;
    set;    //set breakpoint on this line
}

更新

另外;@AbdulRaufMujahid在评论中指出,如果自动实现的属性在单行上,你可以将光标定位在get;或一组;按下F9,断点就会随之出现。好了!

public bool IsUpdated { get; set; }

在Visual Studio 2005菜单中:

调试->新断点->新数据断点

输入:

&myVariable

如果你正在使用WPF,有一个很棒的工具:WPF检查器。 它将自己连接到WPF应用程序,并显示具有所有属性的完整控件树,它允许你(在其他事情中)打破任何属性更改。

但遗憾的是,我没有找到任何工具,可以让你做同样的任何属性或变量。

您可以选择重载变量的=操作符,并且可以在特定条件下将断点放在重载函数内。