使用RubyMine调试Rails应用程序

5

我有一个使用Ruby 1.8.7的Rails应用程序,在调试模式下设置断点时出现以下错误:

54749: Exception in DebugThread loop: undefined method `errmsg' for #<Debugger::ControlState:0x10e3def28>
Backtrace:
/Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-0.10.4/cli/ruby-debug/command.rb:188:in `errmsg'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-0.10.4/cli/ruby-debug/commands/breakpoints.rb:81:in `execute'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide/ide_processor.rb:89:in `process_commands'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide/ide_processor.rb:86:in `catch'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide/ide_processor.rb:86:in `process_commands'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:121:in `start_control'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:103:in `initialize'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:103:in `new'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:103:in `start_control'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:65:in `start_server'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:69:in `prepare_debugger'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/lib/ruby-debug-ide.rb:83:in `debug_program'
  from: /Users/ohad/.rvm/gems/ruby-1.8.7-p371/gems/ruby-debug-ide-0.4.17.beta16/bin/rdebug-ide:109
  from: -e:1:in `load'
  from: -e:1

我已经在我的Gemfile中添加了ruby-debug:

group :development do
  gem "inaction_mailer", '0.6', :require => 'inaction_mailer/force_load'
  gem 'ruby-debug', :require => nil
  # gem 'bullet'
  # gem "ruby-growl"
end

也许这个可以帮到你:https://dev59.com/vWgt5IYBdhLWcg3w-SP1 - Casper
嗨@Casper,感谢您的快速回复。我看到了那篇文章,但我没有安装debugger gem。我已经在我的gemfile上进行了编辑,位于dev组中。 - WebQube
1个回答

5

您安装了ruby-debug gem,请删除它。

参见此答案,仅需要2个调试gems(对于Ruby 1.8,版本将不同):

ruby-debug-base (0.10.5.rc3)
ruby-debug-ide (0.4.17.beta16)

你好,我尝试使用 gem unistall ruby-debug 命令卸载了 ruby-debug,成功了,谢谢。但问题是,我需要保留 Gemfile 中的 gem ruby-debug,因为我的其他团队成员需要在控制台中进行调试。我尝试在 development.rb 文件中只在 Rubymine 中引用 require "ruby-debug" unless ENV["RM_INFO"],但没有成功。 - WebQube
等一下,我的错误,我看到它正在使用hack,require "ruby-debug" unless ENV["RM_INFO"] - WebQube
尝试使用此代码,只需更改gem名称。条件require应该有助于解决这个问题。 - CrazyCoder
我使用ruby-debug运行了几周。然后我重建了我的gems,结果它出问题了。谢谢! - Phlip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接