【发布时间】:2015-02-27 19:30:32
【问题描述】:
假设我在 ClassName 类中有这个自动实现的属性:public int Counter{ get; set; }
我未能成功地在 Visual Studio 2013 中的 C# 自动实现的属性设置器上设置条件断点。特别是在设置的新值上。 (例如,我想在它设置为负数时对其进行断点。)
我知道还有其他解决方案,例如拆分属性使其不是自动实现的属性,或者断点设置该属性的所有位置。 但我希望能够在没有繁琐的解决方法的情况下做到这一点。
我已使用https://stackoverflow.com/a/6713867/119418 的以下提示成功地在自动实现的属性设置器上设置断点
使用 Visual Studio 2008、2010、2012、2013:
- 转到断点窗口
- New->Break at Function…
-
要获取,请输入:
ClassName.get_Counter()对于集合,输入:
ClassName.set_Counter(int)
当断点被命中时你会得到一个“没有可用的源”,但你会在调用堆栈中得到调用位置。
【问题讨论】:
-
您的物业类型是
int吗? -
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
如果你试图打破一个属性设置器,你可能做错了什么。这没有多大意义,因为您没有做任何事情,特别是(自动属性,顺便说一句)。我的脑子很乱。
-
例如,我想在属性值变为负数时中断。而且我不知道哪一行代码将它设置为这个负数。有很多地方可能会发生。我知道我可以有条件地对所有这些进行断点,并且如果必须的话。这是我必须在这个软件中做很多的模式(那不是我的)。
-
我添加了auto属性(int类型)的例子
标签: c# debugging properties visual-studio-2013 breakpoints