【发布时间】:2009-09-01 23:31:45
【问题描述】:
我希望在设置断点时能够跳过代码的某些部分。例如,我有一个代码块,它迭代 52 次以创建一副纸牌。这工作正常,我宁愿不必按 F11 来继续穿过那个街区。无论如何我可以“跳过”这个,以便调试器继续下一个方法调用?
语言和 IDE 在 VS 2008 中是 C#。
【问题讨论】:
标签: visual-studio debugging breakpoints
我希望在设置断点时能够跳过代码的某些部分。例如,我有一个代码块,它迭代 52 次以创建一副纸牌。这工作正常,我宁愿不必按 F11 来继续穿过那个街区。无论如何我可以“跳过”这个,以便调试器继续下一个方法调用?
语言和 IDE 在 VS 2008 中是 C#。
【问题讨论】:
标签: visual-studio debugging breakpoints
执行以下操作
这相当于在该行设置断点,像按 F5 一样运行代码,然后在命中后删除断点。
注意:如果循环代码的执行遇到另一个真正的断点,则执行将停在那里,而不是您单击的位置。如果您认为这可能会发生,只需禁用所有断点,执行上述技巧并重新启用所有断点。
【讨论】:
在你想结束的地方设置另一个断点,然后按 F5 :)
【讨论】:
F5 被称为Continue。
如果它是一个选项,您可以将该代码移动到一个函数中并将 [DebuggerStepThrough] 属性应用于该函数,以便在调试期间始终跳过它
像这样:
using System.Diagnostics;
namespace MyNamespace
{
public class Utilities
{
[DebuggerStepThrough]
public ThisIsAVeryLongMethod()
{
//
// Code
//
}
}
}
现在在您的代码中,当您单步执行时,调试器不会转到该方法,而是继续执行下一行
ShortMethod1();
ThisIsAVeryLongMethod();
ShortMethod2();
【讨论】:
我不知道有什么方法可以跳过一个块,但是您可以在该块之后放置一个断点或使用 run-to-cursor(我认为是 ctrl-F10)。
【讨论】: