GDB:跳过循环迭代

GDB: skip through loop iterations

如何使用 GDB 跳过 n 次迭代?我正在尝试调试一个 for 循环,我想进入迭代 703,而无需输入接下来的 703 次。

注意:我想留在循环中,只跳过 n 次迭代。

谢谢!

试试断点数:https://sourceware.org/gdb/onlinedocs/gdb/Conditions.html

(gdb) ignore bnum count

设置第bnum个断点的忽略次数为count。到达断点的下一个计数次数,您的程序的执行不会停止;除了减少忽略计数,GDB 不采取任何行动。

我找到了解决方案:

考虑这段代码:

for(int i = 0; i < 1000; i++) {
    printf("%d\n",i);
}

在 GDB 中,您必须键入:'break n'(其中 n 是 'for' 循环的行号)然后 'c x' - 其中 x 是您要跳过循环的次数。