显然VS 2008不允许在自动属性的setter上设置断点。
即。如果我定义这样的自动属性:
public int CurrentFramesize
{
get;
protected set;
}
然后尝试在setter行上设置断点,整个auto-property变为breakpoint-red。
这适用于普通属性,所以任何想法为什么自动属性得到这种特殊(限制性)处理?它们不仅仅是具有隐藏支持字段的正常属性的语法糖吗?
答案 0 :(得分:29)
使用Visual Studio 2008,2010,2012:
获取,
输入:ClassName.get_CurrentFramesize()
对于该集,请键入:ClassName.set_CurrentFramesize(int)
当断点被击中时,你会得到一个“No Source Available”,但是你将获得调用堆栈中的调用位置。
我在这里找到了这个解决方案:http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/b1dd0dc3-e9c1-402a-9c79-a5abf7f7286a
答案 1 :(得分:2)
答案 2 :(得分:1)
此功能在Visual Studio 2015中实现
答案 3 :(得分:-2)
不,你不能设置它们的断点,但那你会检查什么?用于存储auto-property的变量仅在运行时分配,因此调试器没有变量可供显示/访问。