我想在設置斷點時跳過我的代碼的某些部分。例如,我有一個迭代52次的代碼塊來創建一副牌。這是正常工作,我寧願不必擊中F11繼續通過該塊。無論如何,我可以「跳過」這一點,以便調試器進入下一個方法調用?如何瀏覽整個代碼塊?
語言和IDE是C#在VS 2008
我想在設置斷點時跳過我的代碼的某些部分。例如,我有一個迭代52次的代碼塊來創建一副牌。這是正常工作,我寧願不必擊中F11繼續通過該塊。無論如何,我可以「跳過」這一點,以便調試器進入下一個方法調用?如何瀏覽整個代碼塊?
語言和IDE是C#在VS 2008
如果它是一個選項,你可以移動代碼到一個功能和[DebuggerStepThrough]屬性應用到的功能,使其始終調試
,像這樣在被跳過:
using System.Diagnostics;
namespace MyNamespace
{
public class Utilities
{
[DebuggerStepThrough]
public ThisIsAVeryLongMethod()
{
//
// Code
//
}
}
}
現在在你的代碼,當你逐步完成,調試器不會去的方法,只是進入到下一行
ShortMethod1();
ThisIsAVeryLongMethod();
ShortMethod2();
執行以下操作
後這將做相當於在該行設置一個斷點,運行代碼就像按F5一樣,然後在它被命中時刪除斷點。
注意:如果循環代碼的執行到達另一個真實的斷點,則執行將停止在那裏,而不是您單擊的位置。如果您認爲可能發生這種情況,只需禁用所有斷點即可,請執行上述操作並重新啓用所有斷點。
你能更多地討論了一下,這是應該如何表現?我試了一下,看起來好像如果我在嵌套if,while等代碼塊中嘗試這樣做,它實際上不會移動到光標,而是下一個if和/或while。我有點不高興,所以我可能只需要更多的「試錯」。 :) – Pete 2009-09-01 07:02:50
設置您要結束了另一個破發點,然後按F5鍵:)
有趣的...所以如果我設置了兩個斷點,我可以在調試模式下使用「開始調試」命令跳過它們之間調用的所有代碼? – Pete 2009-09-01 06:59:19
確實你可以:)但是,當在調試中運行時,'F5'被稱爲'Continue'。 – 2009-09-01 07:01:56
我不知道有什麼方法可以跳過塊,但你可以在塊後放入一個斷點,或者使用運行 - to-cursor(ctrl-F10,我認爲)。
我想問,但Google是我的朋友。我喜歡這一點,它爲我現在需要的特定目的而努力。我無法編輯答案,但有人應該編輯此解釋來說明如何使用[DebuggerStepThrough]屬性以及您需要System.Diagnostics名稱空間的事實。 – Pete 2009-09-01 07:15:37
它也在課堂上工作嗎?在完成調試之後,我希望完全逐步完成班級中的每種方法,並且我確定它正常工作。 – 2011-06-14 07:20:20