How to skip a number of iterations of a loop in GDB?

19,851

Solution 1

Set a breakpoint in the loop and then call c 50 to continue 50 times

Debugging with GDB

5.2 Continuing and stepping

continue [ignore-count]
c [ignore-count]
fg [ignore-count]
Resume program execution, at the address where your program last stopped; any breakpoints set at that address are bypassed. The optional argument ignore-count allows you to specify a further number of times to ignore a breakpoint at this location; its effect is like that of ignore (see section Break conditions). The argument ignore-count is meaningful only when your program stopped due to a breakpoint. At other times, the argument to continue is ignored.

Solution 2

You could use conditional break points

break <lineno> if i > 50

where i is the loop index

Share:
19,851
Gabriel
Author by

Gabriel

Updated on June 12, 2022

Comments

  • Gabriel
    Gabriel almost 2 years

    Suppose I have a loop that will iterate 100 times and I want to skip 50 iterations but I want to continue pressing next from there on to see each line.

    I don't want to set a breakpoint after the loop, because this way I'll skip all iterations and not only the number I intend to.

    Is there a way to do this in GDB? How?

    P.S. I don't want keep pressing next from start to finish. It's time consuming...

  • Gabriel
    Gabriel over 9 years
    Thanks for your time writing this, but my question is about GDB (GNU Debugger).
  • user3629249
    user3629249 over 9 years
    the question was about using gdb, not how to code a loop that will skip 50 itterations