An interrupt (often, C-c) does not exit from GDB, but rather terminates the action of any GDB command that is in progress and returns to GDB command level. It is safe to use the interrupt character at any time because GDB does not allow it to take effect until a time when it is safe.
If you have been using GDB
to control an attached process or device, you can release it with the detach
command (see Debugging
an already-running process).