是否有我可以在方法中指定的属性,以便在调试时调试器知道要在方法内部步进?我重写一个Databind()方法,并且当前调试器会自动执行。C#调试属性
C#调试属性
回答
只需在您希望调试的方法内部放置一个断点。
如果在调试时没有命中断点,那就意味着该方法没有被调用 - 你确定你已经覆盖它正确吗?
如果方法或类已附加DebuggerStepThrough,你确定会中断吗? – 2011-03-11 21:19:08
@Rune FS - 当然,如果方法本身如此装饰,断点将不会被击中。然而,从阅读这个问题看,情况不太可能。如果OP已经重写了方法并用'DebuggerStepThrough'对其进行了修饰,那么他将回答他自己的问题。至于它被定义在被覆盖的方法上 - “DebuggerStepThrough”属性在其AttributeUsage中设置了“Inherited = false”,所以这也可以被排除。 – Oded 2011-03-11 21:32:03
同意但仍然留下类的用法。 (但我同意你的看法,情况不太可能) – 2011-03-11 21:34:57
你使用什么版本的VS?在工具|选项“调试节点:启用只是我的代码(仅管理)”下 - 清除,“启用.NET框架源代码步进” - 设置可能有帮助。
您的覆盖是否设置了断点?
我同意Oded的回答,但另一种选择是使用Debugger.Break()。如果连接了调试器,这将导致您的代码每次遇到该行代码时都会中断。
感谢您的答案,没有人提出我在找什么。我知道我以前看过这个,所以我只是做了一些更多的搜索,然后再次找到它。 System.Diagnostics中有几个调试属性,我正在寻找的属性是DebuggerStepThrough()和DebuggerHidden()。
// Force the debugger to step through this code
[DebuggerStepThrough()]
public double GrandTotal
{
get
{
return (this.Subtotal + this.Tax + this.Shipping);
}
}
而且......
// Force the debugger to skip step through
[DebuggerHidden()]
public double GrandTotal
{
get
{
return (this.Subtotal + this.Tax + this.Shipping);
}
}
编辑:俄德你上发布有关此之上的评论,这其实就是我一直在寻找:)我会选择这个作为一个答案,但你没有不要把它作为答案吗?
- 1. 的C懒Initializtion#属性调试
- 2. 调试自动属性
- 3. DOM属性更改调试
- 4. XCode中的调试属性
- 5. 调试和属性加载
- 6. C#P /调用属性
- 7. C#调试属性名称显示为框
- 8. C# - 在调试模式下跳过某个方法的属性
- 9. Visual Studio解决方案属性:调试| Mixed Platforms.ActiveCfg =调试| .NET
- 10. Visual Studio中,配置属性 - >调试
- 11. web.config中的批量调试属性
- 12. 如何调试emberjs计算属性
- 13. C#属性与尝试包围 - 抓
- 14. C#属性的属性
- 15. C#类属性getter调用自动
- 16. 调用Objective-C中的属性
- 17. 调用属性
- 18. Objective-C方法调试性能
- 19. C#属性的强制性属性
- 20. 使用属性反射测试属性
- 21. XmlRoot属性c#
- 22. Objective-C属性
- 23. C#空属性
- 24. C#Stream.ReadTimeout属性
- 25. C#属性表
- 26. C#属性
- 27. XML属性c#
- 28. C#/ ConstructorParameter属性
- 29. C++/CLI属性
- 30. 从e.PropertyName属性调用属性方法
我还没有尝试过,但你有没有尝试过DebuggableAttribute? http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggableattribute.aspx – 2011-03-11 20:40:58
该类是否使用[DebuggerStepThrough]属性构建? – 48klocs 2011-03-11 21:07:22