1) Set a breakpoint in your code.
2) Start the rails server in debug mode
3) Use your browser to hit the code with the breakpoint
4) Your code executes and stops at the breakpoint
5) You then click the red square to the left of the 'Frames' pane - presumably this shuts down the rails server.
6) Notice that your browser still says 'Waiting for localhost' - an indication that the rails server is still active.
7) Then change your code (perhaps not necessary)
8) Restart rails server (either in Run or Debug mode)
9) You will see that the restart fails because the previous rails server is still running and still has the port bound.
At this point, go into a terminal window, look for rails server process (I use 'ps ax | grep rvm') and then do a 'kill -9 nnn' on that process.
A minor pain.
Perhaps there is a reason for leaving the rails server running? Before the red square is clicked, the 'Variables' pane shows the contents of the code at the breakpoint. Hitting the red square causes the execution to advance to the next breakpoint, but does not stop the server. Advancing another step will successfully kill the rails server with an exit code 1.
I suppose it is OK, but it does violate the Rails philosophy of 'minimum surprise'. Perhaps document it.