When it has stopped you can use 'step/next'
to step one line at a time - the difference is in the way they step into functions or over functions. And you can type 'continue' to carry on running to the next breakpoint.
It is also often useful to breakpoint at main before typing run if you want to start stepping from the beginning.
Breakpointing at exit() is useful to find out why a program exited; especially when you have a program which disappears for no good reason.
(_exit is the name of a function in the C library - often catches even more exit cases)