简体   繁体   English

无法使用RVM,Ruby 1.9.2和Rails 3运行RubyMine调试器

[英]Can't run RubyMine debugger with RVM, Ruby 1.9.2 and Rails 3

I've setup a fresh Ubuntu install and followed this guide to install RVM, Ruby 1.9.2 and Rails 3. 我已经设置了一个新的Ubuntu安装,并按照本指南安装RVM,Ruby 1.9.2和Rails 3。

Then I installed RubyMine 3.0, it automatically detected the Ruby 1.9.2 SDK from the RVM path, so that's ok. 然后我安装了RubyMine 3.0,它自动从RVM路径检测到Ruby 1.9.2 SDK,所以没关系。 I can start the server perfectly (green play button). 我可以完美地启动服务器(绿色播放按钮)。

Now the problem is I can't debug it because it throws the following exception after startup. 现在问题是我无法调试它,因为它在启动后抛出以下异常。

/home/eparizzi/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/bin/rdebug-ide --port 39879 -- /home/eparizzi/Projects/Delko/src/script/rails server -p 3000 -b 0.0.0.0 -e development
Fast Debugger (ruby-debug-ide 0.4.16, ruby-debug-base 0.11) listens on 127.0.0.1:39879
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/interface.rb:128:in `<module:Debugger>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/interface.rb:1:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:1:in `require_relative'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:1:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:6:in `require_relative'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:6:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `each'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `block in require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `each'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler.rb:120:in `require'
    /home/eparizzi/Projects/Delko/src/config/application.rb:7:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:28:in `require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:28:in `block in <top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:27:in `tap'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:27:in `<top (required)>'
    /home/eparizzi/Projects/Delko/src/script/rails:6:in `require'
    /home/eparizzi/Projects/Delko/src/script/rails:6:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/lib/ruby-debug-ide.rb:112:in `debug_load'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/lib/ruby-debug-ide.rb:112:in `debug_program'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/bin/rdebug-ide:87:in `<top (required)>'
    -e:1:in `load'
    -e:1:in `<main>'
Uncaught exception: superclass mismatch for class RemoteInterface

Process finished with exit code 0

I have the following line in the .Gemfile 我在.Gem文件中有以下行

gem 'ruby-debug19', :require => 'ruby-debug'

Also (following some blog) I installed the ruby-debug-ide gem as follows: 另外(在一些博客之后)我安装了ruby-debug-ide gem,如下所示:

gem install ruby-debug-ide19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-p180/ 

it's definitely a gem related debug issue. 这绝对是一个与宝石相关的调试问题。 You shouldn't need to include the debug gem in your .gemfile though. 您不应该在.gem文件中包含debug gem。 Rubymine should pick it up automatically, so I'd remove it from there to start with. Rubymine应该自动捡起来,所以我会从那里开始取出它。

Make sure you've installed the debug-base gem as well for 1.9 确保你已经为1.9安装了调试基础宝石

gem install ruby-debug-base19

I remember there was a couple of issues related to debugging in general for 1.9 at the start but I think they've been ironed out now. 我记得一开始有一些与调试相关的问题,但我觉得他们现在已经被解决了。

Have you seen this article yet? 你看过这篇文章了吗? It also might be able to help point you in a direction. 它也可以帮助您指明方向。

Debugging in ruby 1.9 在ruby 1.9中调试

All the best. 祝一切顺利。

从您的Gemfile中删除:require =>'ruby-debug',它应该可以工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM