2010-07-16 97 views

回答

1

是的,有一个步骤(F10)功能,以及一个步骤(F11)。

+0

并且还步出(ctrl-F11)(继续,直到您返回到立即调用功能)。 – Richard 2010-07-16 09:08:54

5

有一个选项Step over properties and operators (Managed only)

或使用F10,而不是F11(默认键盘绑定)

+0

该选项不可用在VS2005。 – CJ7 2010-07-17 03:19:12

0

你可以使用“运行到光标”一次性断点。

0

当您使用F10时,代码会简单地遍历每条语句,除非您已经在更深层次中设置了断点。我从来没有发现调试器错过了你建议的方式,请注意,我只使用VS2008。

9

如果你想跳过整个方法您可以用DebuggerStepThrough属性标记它:

[DebuggerStepThrough] 
public void SomeMethod() 
{ 
    // lots of code... 
} 

public int SomeProperty 
{ 
    [DebuggerStepThrough] 
    get { return ComplexLogicConvertedToMethod(); } 
    [DebuggerStepThrough]  
    set { this.quantity = value ; } 
} 

请注意,属性阻止调试步入方法或属性,但你总是可以放置一个断点在那种方法中,并在那里停止。

属性派上用场尤其是当你有这样的代码:

DoSomething(obj.SomeProperty); 

如果你想踏入DoSomething,然后按F11你会 - 无属性 - 第一步到SomeProperty然后进入DoSomething。然而,使用该属性,您将立即在DoSomething方法中结束。

如果要完全防止用户将断点放入方法中,可以使用DebuggerHiddenAttribute

+0

未颁发,因为没有提及F10。 – CJ7 2010-07-17 02:59:17

+0

这就是你认为这个问题不是真正的天真。 – 2012-03-24 16:12:27

+0

这应该是被接受的答案 – enzi 2013-11-28 09:06:46

0

您可以在任何您不想进入的方法/属性上设置属性DebuggerStepThroughAttribute

而且你也可以使用“Step Over”而不是“Step Into”命令。

0

添加DebuggerStepThrough属性你的财产:

[DebuggerStepThrough] 
private static void DO() { 
    Console.WriteLine("test"); 
}