## 12 Running the Program

When the program starts executing due to a GDB command such as `step` or `continue`,

    ^Z^Zstarting

is output. When the program stops,

    ^Z^Zstopped

is output. Before the `stopped` annotation, a variety of annotations describe how the program stopped.

`^Z^Zexited exit-status`

  The program exited, and exit-status is the exit status (zero for successful exit, otherwise nonzero).

`^Z^Zsignalled`

  The program exited with a signal. After the `^Z^Zsignalled`, the annotation continues:

      intro-text
      ^Z^Zsignal-name
      name
      ^Z^Zsignal-name-end
      middle-text
      ^Z^Zsignal-string
      string
      ^Z^Zsignal-string-end
      end-text

  where name is the name of the signal, such as `SIGILL` or `SIGSEGV`, and string is the explanation of the signal, such as `Illegal Instruction` or `Segmentation fault`. intro-text, middle-text, and end-text are for the user’s benefit and have no particular format.

`^Z^Zsignal`

  The syntax of this annotation is just like `signalled`, but GDB is just saying that the program received the signal, not that it was terminated with it.

`^Z^Zbreakpoint number`

  The program hit breakpoint number number.

`^Z^Zwatchpoint number`

  The program hit watchpoint number number.