是否可以在调试期间跳过任意数量的循环?视觉工作室

时间:2010-05-24 23:07:11

标签: c++ c visual-studio visual-studio-2008 visual-c++

我正在尝试在代码中找到错误。问题是循环中发生错误。但是循环迭代大约500次。而不是点击循环。是否可以跳过一定量的循环?

4 个答案:

答案 0 :(得分:9)

VS允许您根据范围内的变量在断点上设置条件。因此,在您的情况下,您可以测试循环计数器。

答案 1 :(得分:2)

这是一个粗略的答案:

if ((iter % 10) == 0) {
    int stop = 1;
}

然后在“int stop = 1;”处放置一个断点。也许,在VS中有一种更好的方法,但这就是我不时做的事情。

答案 2 :(得分:1)

您可以在调试会话期间为变量分配新值。根据需要逐步循环循环语句,然后设置循环计数器(或其他任何vars保持循环条件)以终止循环。

答案 3 :(得分:0)

只需将断点放在循环中,如下所示>>。使用F5来达到导致失败的条件,这样你就可以遍历单个传递。如何知道在哪里打破由你决定。

for (int i = 0; i < LOOPMAX; i++) {
>>some_proc(i);
  some_other_proc(i);
  some_third_proc(i);
}

按下F5,它将继续运行,直到到达下一个断点(下一次通过代码)。当然,你必须击中它500次,但这会击败几千次。将其与上面的@Troubador代码结合起来。

PS:这个答案很简单,但是有些人不知道他们能做到这一点。