6

通过 RubyMine IDE 进行远程调试时出现以下错误。

$ bundle exec rdebug-ide --port 1234 -- script/rails server
Fast Debugger (ruby-debug-ide 0.4.9) listens on :1234
    /home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb:123:in `debug_load'
    /home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb:123:in `debug_program'
    /home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.12/bin/rdebug-ide:87:in `<top (required)>'
    /home/amit/.rvm/gems/ruby-1.9.3-p125/bin/rdebug-ide:19:in `load'
    /home/amit/.rvm/gems/ruby-1.9.3-p125/bin/rdebug-ide:19:in `<main>'
Uncaught exception: cannot load such file -- script/rails

我按照此链接安装了远程调试所需的 gem。

这是用于远程调试的 Gemfile 配置

#To Debug
  gem 'linecache19', '0.5.13', :path => "~/.rvm/gems/ruby-1.9.3-p125/gems/linecache19-0.5.13/"
  gem 'ruby-debug-base19', '0.11.26', :path => "~/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.26/"
  gem 'ruby-debug19', :require => 'ruby-debug'
  gem 'ruby-debug-ide19'

该应用程序使用Ruby 1.9.3Rails 3.0.11运行。

4

2 回答 2

18

您正在使用一些奇怪的调试 gem,只需要以下内容:

  • ruby-debug-base19x
  • ruby-debug-ide

首先,删除所有ruby-debug*gem,然后使用以下命令安装所需的 gem:

gem install ruby-debug-base19x --pre
gem install ruby-debug-ide --pre

您应该获得以下(或更新的)版本:

ruby-debug-base19x (0.11.30.pre10)
ruby-debug-ide (0.4.17.beta9)

调整您Gemfile以仅包含这两个gem(应用程序特定的 gem 除外)。

如果您收到linecache19相关错误,请按如下方式安装:

curl -OL http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
gem install linecache19-0.5.13.gem

@Anjan 为调试贡献了完整的 Gemfile 更改:

gem 'linecache19', '>= 0.5.13', :git => 'https://github.com/robmathews/linecache19-0.5.13.git'
gem 'ruby-debug-base19x', '>= 0.11.30.pre10'
gem 'ruby-debug-ide', '>= 0.4.17.beta14'

不要忘记更新捆绑包。

于 2012-04-25T23:14:38.453 回答
3

我已经按照他在回答中提到的所有说明在@CrazyCoder的帮助下解决了这个问题。

我在这里回答只是为了说明对我有用的东西,因此可能对社区有用。

这是我的 Gem 文件的最终条目

gem 'linecache19', '0.5.13', :path => "~/.rvm/gems/ruby-1.9.3-p125/gems/linecache19-0.5.13"
gem 'ruby-debug-base19x', '0.11.30.pre10'
gem 'ruby-debug-ide', '0.4.17.beta9'

没有我得到以下错误:pathlinecache19

You have requested:
  linecache19 = 0.5.13

The bundle currently has linecache19 locked at 0.5.12.
Try running `bundle update linecache19`
于 2012-04-26T05:40:12.140 回答