How to debug a Rails application in emacs?

This is a little bit dated but the way to go is here:

http://www.datanoise.com/articles/2006/7/12/tutorial-on-ruby-debug

The only basic difference when running in emacs is you want to start your server (script/server) from inside a shell window like this:

M-x shell $ cd your_project_root $ script/server

I've used this method with ruby 1.8.7 / rails 2.2.2 and it definitely works. Unfortunately for me, I'm working with ruby 1.9.1p0 and ruby- debug hasn't quite made it there yet.

Not sure what you're using for emacs but I've found aquamacs (cocoa build on emacs 22.3.1) to work quite nicely on OSX. What are you doing to get your "rails-mode" functionality? I've used rinari and am currently working with emacs-rails - both located by google.

I've needed to noodle emacs-rails a bit to get it to do something reasonable with menu driven rspec variants.

Let me know how it works out for you.

This should be

script/server -u

to enable debugging.

Actually, the example I cited had two steps to it:

1) add "require 'ruby-debug' to "config/environments/development.rb"

2) add "debugger" to the your application file of interest just before you want the debugging session to start

This removes the need for the -u flag to script/server and enters the debugger at the point of interest. Obviously you can use -u, enter the debugger at the beginning of the program, set a breakpoint at the point of interest, and run forward to the breakpoint.