單步執行代碼時可以跳過代碼的哪些部分?當調試器跳轉到屬性獲取和設置時,我覺得這特別惱人。有沒有辦法避免這種情況?VS2005:當通過C#代碼跨步,有沒有辦法跳過代碼段?
回答
是的,有一個步驟(F10)功能,以及一個步驟(F11)。
有一個選項Step over properties and operators (Managed only)
或使用F10,而不是F11(默認鍵盤綁定)
該選項不可用在VS2005。 – CJ7 2010-07-17 03:19:12
你可以使用「運行到光標」一次性斷點。
當您使用F10時,代碼會簡單地遍歷每條語句,除非您已經在更深層次中設置了斷點。我從來沒有發現調試器錯過了你建議的方式,請注意,我只使用VS2008。
如果你想跳過整個方法您可以用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
。
您可以在任何您不想進入的方法/屬性上設置屬性DebuggerStepThroughAttribute。
而且你也可以使用「Step Over」而不是「Step Into」命令。
添加DebuggerStepThrough屬性你的財產:
[DebuggerStepThrough]
private static void DO() {
Console.WriteLine("test");
}
- 1. 有沒有辦法跳過jQuery/Backbone/Underscore的代碼,當調試通過JS?
- 2. C#沒有通過foreach代碼
- 3. 有沒有辦法通過PHP頁面修改node.js代碼?
- 4. 有沒有辦法通過代碼與OneNote對話?
- 5. vim:跳過一段代碼
- 6. 跳過代碼
- 7. 有沒有辦法通過http代碼過濾記錄的elmah條目?
- 8. 當通過代碼
- 9. C:功能跳過代碼
- 10. 有沒有辦法縮短這段代碼? C#的WinForms
- 11. 有沒有辦法將一段代碼嵌入到另一段代碼中?
- 12. 通過C#代碼
- 13. 通過C#代碼
- 14. 有沒有辦法讓這個C#比較代碼更通用?
- 15. C#代碼通過代理
- 16. .Net跳過代碼
- 17. Android跳過代碼
- 18. 有沒有辦法隱藏JavaScript代碼?
- 19. 有沒有辦法從代碼
- 20. 有沒有辦法在代碼
- 21. 有沒有辦法讓我的代碼在代碼中開始?
- 22. 代碼不斷跳過輸入步驟
- 23. SqlDataReader.ExecuteReader後,所有代碼跳過
- 24. 有沒有辦法讓這段代碼更有效率?
- 25. 有沒有辦法隔離阻塞異步代碼的庫
- 26. Vertica - 有沒有辦法通過代碼檢索被拒絕的記錄?
- 27. 有沒有辦法通過代碼查看iPhone的短信檔案?
- 28. 有沒有辦法通過自動佈局縮小約束而無需代碼?
- 29. 有沒有辦法通過編譯器的命令行來添加代碼?
- 30. 有沒有辦法在運行時用C代碼獲取源代碼行號?
並且還步出(ctrl-F11)(繼續,直到您返回到立即調用功能)。 – Richard 2010-07-16 09:08:54