3

当我设置断点时,我希望能够跳过我的代码的某些部分。例如,我有一个代码块,它迭代 52 次以创建一副牌。这工作正常,我宁愿不必按 F11 来继续穿过那个街区。无论如何我可以“跳过”这个,以便调试器继续下一个方法调用?

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

4

4 回答 4

5

请执行下列操作

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

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

注意:如果循环代码的执行遇到另一个真正的断点,则执行将在那里停止,而不是您单击的位置。如果您认为这可能会发生,只需禁用所有断点,执行上述技巧并重新启用所有断点。

于 2009-09-01T06:47:04.263 回答
5

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

于 2009-09-01T06:47:12.467 回答
2

我不知道有什么方法可以跳过一个块,但是您可以在块之后放置一个断点或使用运行光标(我认为是 ctrl-F10)。

于 2009-09-01T06:48:15.570 回答
2

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

像这样:

using System.Diagnostics;

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

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

ShortMethod1();
ThisIsAVeryLongMethod();
ShortMethod2();
于 2009-09-01T07:02:13.403 回答