I'm trying to use ruby-debug with Pow. Rails 3 app.
I have done everything here: https://gist.github.com/1098830
I've restarted the server and machine several times. I can get rdebug to connect:
→ rdebug -c
Connected.
but it never stops at the breakpoints.
Any idea what could be going on? I got it to hit a few breakpoints a few hours ago, and not since.
controller
def index
debugger
...
end
Gemfile
gem 'ruby-debug19', :require => 'ruby-debug'
development.rb
EG::Application.configure do
...
require 'ruby-debug'
Debugger.start_remote
Debugger.settings[:autoeval] = true
puts "=> Debugger enabled"
end
This happens because Pow runs two worker processes as default, and rdebug only connects to one of them. If the other process serves the request, then no dice. The solution is to force Pow to run a single worker process, as follows:
export POW_WORKERS=1
You should now hit your breakpoint on every request.
Update Sept '12
I switched to the
debugger
gem - a fork ofruby-debug19
with better support for ruby 1.9.2/3This also allowed to simplify the configuration for remote-debugging in development.rb. I hit the breakpoint every single time and have no hanging processes.
Original Answer
Try enabling wait_connection (and restart pow)
reload source is also nice:
Debugger.settings[:reload_source_on_change] = true