如何逐步完成整个代码块?

时间:2009-09-01 06:45:32

标签: visual-studio debugging breakpoints

我希望能够在设置断点时跳过代码的某些部分。例如,我有一个代码块,它迭代52次以创建一副牌。这是正常工作,我宁愿不必按F11继续通过该块。反正我是否“跳过”这个以便调试器继续进行下一个方法调用?

语言和IDE是VS 2008中的C#。

4 个答案:

答案 0 :(得分:5)

执行以下操作

  • 右键点击循环后的第一行
  • 选择“运行到光标”

这相当于在该行设置断点,运行代码就像点击F5一样,然后在点击后删除断点。

注意:如果循环代码的执行遇到另一个真实断点,则执行将停在那里而不是你点击的位置。如果您认为这可能只是禁用所有断点,请执行上述操作并重新启用所有断点。

答案 1 :(得分:5)

设置您想要结束的另一个断点,然后按F5:)

答案 2 :(得分:2)

我不知道有什么方法可以跳过一个块,但你可以在块之后放置一个断点或者使用run-to-cursor(ctrl-F10,我认为)。

答案 3 :(得分:2)

如果是一个选项,您可以将该代码移动到一个函数中并将[DebuggerStepThrough]属性应用于该函数,以便在调试期间始终跳过它

像这样:

using System.Diagnostics;

namespace MyNamespace
{
    public class Utilities
    {
        [DebuggerStepThrough]
        public ThisIsAVeryLongMethod()
        {
            //
            // Code
            //
        }
    }
}

现在在您的代码中,当您单步执行时,调试器将不会转到该方法,只是继续下一行

ShortMethod1();
ThisIsAVeryLongMethod();
ShortMethod2();