[英]VS2005: when stepping through C# code, is there way to skip through sections of code?
单步执行代码时可以跳过某些部分吗? 当调试器跳转到属性get和set时,我觉得这特别烦人。 有办法避免这种情况吗?
如果要跳过整个方法,则可以使用DebuggerStepThrough
属性对其进行标记:
[DebuggerStepThrough]
public void SomeMethod()
{
// lots of code...
}
public int SomeProperty
{
[DebuggerStepThrough]
get { return ComplexLogicConvertedToMethod(); }
[DebuggerStepThrough]
set { this.quantity = value ; }
}
请注意,该属性阻止调试器进入方法或属性,但是您始终可以在该方法中放置一个断点,然后在此处停止1 。
该属性非常有用,尤其是当您具有以下代码时:
DoSomething(obj.SomeProperty);
如果要进入DoSomething
,然后按F11键,将在没有属性的情况下首先进入SomeProperty
,然后进入DoSomething
。 但是,有了该属性,您将立即陷入DoSomething
方法中。
1 如果要完全阻止用户将断点放入方法中,则可以使用DebuggerHiddenAttribute
。
可以选择“ Step over properties and operators (Managed only)
或使用F10而不是F11(具有默认键盘绑定)
是的,有一个跨步(F10)功能和一个跨步至(F11)。
您可以使用“运行至光标”设置一个断点。
使用F10时,除非您在更深的层次上设置了断点,否则代码仅会跳过每个语句。 我从来没有发现调试器小姐会像您建议的那样表现,请记住,我只使用VS2008。
您可以在不需要的任何方法/属性上设置DebuggerStepThroughAttribute属性。
您也可以使用“ Step Over”而不是“ Step Into”命令。
将DebuggerStepThrough属性添加到您的属性:
[DebuggerStepThrough]
private static void DO() {
Console.WriteLine("test");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.