How to skip a number of iterations of a loop in GDB?
Solution 1
Set a breakpoint in the loop and then call c 50 to continue 50 times
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
Gabriel
Updated on June 12, 2022Comments
-
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 over 9 yearsThanks for your time writing this, but my question is about GDB (GNU Debugger).
-
user3629249 over 9 yearsthe question was about using gdb, not how to code a loop that will skip 50 itterations