16.4. Returning from a function
- return, return expression
You can cancel execution of a function call with the return
command. If you give an
expression argument, its value is used as the function's return
value.
When you use return, gdb discards the selected stack frame
(and all frames within it). You can think of this as making the
discarded frame return prematurely. If you wish to specify a value to
be returned, give that value as the argument to return.
This pops the selected stack frame (refer to Section 8.3 Selecting a frame), and any other frames inside of it, leaving its caller as the
innermost remaining frame. That frame becomes selected. The
specified value is stored in the registers used for returning values
of functions.
The return command does not resume execution; it leaves the
program stopped in the state that would exist if the function had just
returned. In contrast, the finish command (refer to Section 7.2 Continuing and stepping) resumes execution until the
selected stack frame returns naturally.