debuggingloopsgdbwalkthrough

Is there a gdb command to finish a loop construct?


In gdb, I have the finish command to easily finish execution of a function frame, often when walking through code in the debugger, after looking at a few iterations of a loop, I'd like to finish the loop and continue walking after it. Presently, I do this by setting a break point on the first line after the loop and continue, however, it would be really handy if there was a simple gdb command to have the same effect of this but not require a break point to be set and later cleared.

Is there anyway in gdb to finish execution of the current loop being executed?


Solution

  • Is there a gdb command to finish a loop construct?

    Execute until on the last line of the loop, or until NNN where NNN is the last line of the loop.

    (gdb) help until
    Execute until the program reaches a source line greater than the current
    or a specified location (same args as break command) within the current frame.
    

    not require a break point to be set and later cleared.

    Temporary breakpoints automatically clear themselves:

    (gdb) help tbreak
    Set a temporary breakpoint.
    Like "break" except the breakpoint is only temporary,
    so it will be deleted when hit.  Equivalent to "break" followed
    by using "enable delete" on the breakpoint number.