## 5 Stopping and Continuing

The principal purposes of using a debugger are so that you can stop your program before it terminates; or so that, if your program runs into trouble, you can investigate and find out why.

Inside gdb, your program may stop for any of several reasons, such as a signal, a breakpoint, or reaching a new line after a gdb command such as `step`. You may then examine and change variables, set new breakpoints or remove old ones, and then continue execution. Usually, the messages shown by gdb provide ample explanation of the status of your program—but you can also explicitly request this information at any time.

`info program`
  Display information about the status of your program: whether it is running or not, what process it is, and why it stopped.