在自动实现的属性中,是否有办法在 setter/getter 上设置断点?
int Counter { get; set; }
除了将其更改为标准属性(我是这样做的,但是为了做到这一点,我必须更改和重新编译整个项目)
在设置属性或获取属性时设置断点,没有其他方法。
你可以通过 查找所有参考文献选项来做到这一点
由于它只是存储值,并且在 setter 部分中没有任何代码,所以要调试什么呢?
如果我是你,我会暂时让属性成为一个标准的,由内部字段支持... 设置你的断点,然后你可以改回来。
使用 Visual Studio 2008,2010,2012,2013:
对于 get,键入: ClassName.get_Counter()
get
ClassName.get_Counter()
对于 set,键入: ClassName.set_Counter(int)
set
ClassName.set_Counter(int)
当命中断点时,您将获得一个 “没有可用资源”,但是您将在调用堆栈中获得调用位置。
我找到了这个解决方案 这里是 MSDN
这个问题很老了,但是值得注意的是,它只在 VS 2015中起作用。
Https://devblogs.microsoft.com/devops/set-breakpoints-on-auto-implemented-properties-with-visual-studio-2015/
class X { public string name { set; get; // setting a breakpoint here will break in VS 2015! } }
关于 Visual Studio 2017:
鼠标悬停在“设置”单词-> 右键单击-> 断点-> 插入断点
以前:
之后: