2010-07-16 92 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"); 
}