[英]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.