ruby-debug with Pow – 断点从未命中

我正在尝试使用ruby-debug和Pow。 Rails 3 app。

我在这里做了一切: https : //gist.github.com/1098830

我已经多次重启服务器和机器了。 我可以让rdebug连接:

→ rdebug -c Connected. 

但它永远不会停在断点处。

知道会发生什么吗? 我几小时前得到了几个断点,而不是从那以后。

调节器

  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 

这是因为Pow默认运行两个工作进程,而rdebug只连接其中一个。 如果其他进程提供请求,则没有骰子。 解决方案是强制Pow运行单个工作进程,如下所示:

  1. 编辑〜/ .powconfig以包含export POW_WORKERS=1
  2. 通过终止Pow进程重启Pow本身

您现在应该在每个请求上都打到断点。

12月12日更新

我切换到debugger gem – ruby-debug19一个分支,更好地支持ruby 1.9.2 / 3

这也允许简化development.rb中远程调试的配置。 我每次都打破了断点,没有悬挂过程。

 require 'debugger' Debugger.start_remote 

原始答案

尝试启用wait_connection(并重启pow)

 require 'ruby-debug' Debugger.wait_connection = true Debugger.start_remote Debugger.settings[:autoeval] = true puts "=> Debugger enabled" 

重装源也很好: Debugger.settings[:reload_source_on_change] = true