CJ7*_*CJ7 1 c# debugging visual-studio-2005
在单步执行代码时可以做些什么来跳过代码部分?当调试器跳转到属性获取和设置时,我发现这特别烦人.有办法避免这个吗?
如果要跳过整个方法,可以使用DebuggerStepThrough属性标记它:
[DebuggerStepThrough]
public void SomeMethod()
{
// lots of code...
}
public int SomeProperty
{
[DebuggerStepThrough]
get { return ComplexLogicConvertedToMethod(); }
[DebuggerStepThrough]
set { this.quantity = value ; }
}
Run Code Online (Sandbox Code Playgroud)
请注意,该属性可防止调试器进入方法或属性,但您始终可以在该方法中放置断点并停止1.
该属性派上用场,特别是当你有这样的代码时:
DoSomething(obj.SomeProperty);
Run Code Online (Sandbox Code Playgroud)
如果您想进入DoSomething并按F11,您将 - 没有属性 - 首先进入SomeProperty然后进入DoSomething.但是,使用该属性,您最终会立即进入该DoSomething方法.
1 如果要完全阻止用户将断点放入方法中,可以使用DebuggerHiddenAttribute.