Debugging with GDB Manual HP WDB v6.3 (5900-2180, August 2012)

step Continue running your program until control reaches a different source line,
then stop it and return control to GDB. This command is abbreviated s.
WARNING! If you use the step command while control is within a
function that was compiled without debugging information, execution
proceeds until control reaches a function that does have debugging
information. Likewise, it will not step into a function which is compiled
without debugging information. To step through functions without
debugging information, use the stepi command, described below.
The step command only stops at the first instruction of a source line. This
prevents the multiple stops that could otherwise occur in switch statements,
for loops, and so on. step continues to stop if a function that has
debugging information is called within the line. In other words, step steps
inside any functions called within the line.
Also, the step command only enters a function if there is line number
information for the function. Otherwise it acts like the next command. This
avoids problems when using cc -gl on MIPS machines. Previously, step
entered subroutines if there was any debugging information about the
routine.
step count Continue running as in step, but do so count times. If a breakpoint is
reached, or a signal not related to stepping occurs before count steps,
stepping stops right away.
next [count] Continue to the next source line in the current (innermost) stack frame. This
is similar to step, but function calls that appear within the line of code are
executed without stopping. Execution stops when control reaches a different
line of code at the original stack level that was executing when you gave
the next command. This command is abbreviated n.
An argument count is a repeat count, as for step.
The next command only stops at the first instruction of a source line. This
prevents multiple stops that could otherwise occur in switch statements, for
loops, and so on.
finish Continue running until just after function in the selected stack frame returns.
Print the returned value (if any).
Contrast this with the return command (see “Returning from a function
(page 93)).
until, u Continue running until a source line past the current line, in the current stack
frame, is reached. This command is used to avoid single stepping through
a loop more than once. It is like the next command, except that when
until encounters a jump, it automatically continues execution until the
program counter is greater than the address of the jump.
This means that when you reach the end of a loop after single stepping
though it, until makes your program continue execution until it exits the
loop. In contrast, a next command at the end of a loop simply steps back
to the beginning of the loop, which forces you to step through the next
iteration.
until always stops your program if it attempts to exit the current stack
frame.
until may produce somewhat counterintuitive results if the order of
machine code does not match the order of the source lines. For example,
5.2 Continuing and stepping 49