Debugging automatic properties

2019-01-03 08:29发布

Is there any way to set breakpoint on setter/getter in auto-implemented property?

int Counter { get; set; }

Other than changing it to standard property (I'm doing it in this way, but to do that I have to change and recompile whole project)

4条回答
神经病院院长
2楼-- · 2019-01-03 08:40

Set Breakpoints where you are setting property or getting property, No other way.

you can do this by Find All References options

And Since it is only storing values and do not have any code in setter part so what do you debug?

查看更多
倾城 Initia
3楼-- · 2019-01-03 08:41

This question is very old but it is worth that it just works in VS 2015.

https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/14/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!
  }
}
查看更多
我欲成王,谁敢阻挡
4楼-- · 2019-01-03 08:54

If I was you, I'd temporarily make the property a standard one backed by an internal field...set your breakpoints, and then you can change it back after.

查看更多
手持菜刀,她持情操
5楼-- · 2019-01-03 08:55

Using Visual Studio 2008, 2010, 2012, 2013:

  1. Go to the Breakpoint window
  2. New -> Break at Function…
  3. For the get, type: ClassName.get_Counter()

    For the set, type: ClassName.set_Counter(int)

You'll get a "No Source Available" when the breakpoint is hit, but you'll get the calling location in the call stack.

I found this solution here on MSDN

查看更多
登录 后发表回答