Resuming Execution

Continuing

To resume execution, at the current execution position, click on the Continue button. Any breakpoints set at the current execution position are bypassed.

Stepping one Line

To execute just one source line, click on the Step button. The program is executed until control reaches a different source line, which may be in a different function. Then, the program is stopped and control returns to DDD.

Warning: If you use the Step button 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 button (see Machine Code Execution).

In GDB, the Step button only stops at the first instruction of a source line. This prevents the multiple stops that used to occur in switch statements, for loops, etc. Step continues to stop if a function that has debugging information is called within the line.

Also, the Step in GDB only enters a subroutine if there is line number information for the subroutine. Otherwise it acts like the Next button.

Continuing to the Next Line

To continue to the next line in the current function, click on the Next button. This is similar to Step, but any function calls appearing 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 clicked on Next.

Continuing Until Here

To continue running until a specific location is reached, use the Continue Until Here facility from the line popup menu. See Temporary Breakpoints, for a discussion.

Continuing Until a Greater Line is Reached

To continue until a greater line in the current function is reached, click on the Until button. This is useful to avoid single stepping through a loop more than once.

Until is like Next, 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, clicking on Next 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 works by means of single instruction stepping, and hence is slower than continuing until a breakpoint is reached.

Continuing Until Function Returns

To continue running until the current function returns, use the Finish button. The returned value (if any) is printed.

Node:Continuing Somewhere Else, Next:Stack, Previous:Resuming Execution, Up:Running

results matching ""

    No results matching ""