【问题标题】:Trying to debug ruby 1.9.3p194 rails 3.2.7尝试调试 ruby​​ 1.9.3p194 rails 3.2.7
【发布时间】:2012-08-10 23:54:38
【问题描述】:

Arg,看起来这是一个相当普遍的问题,但我似乎无法弄清楚如何让我的调试器工作。我已经安装了无数的宝石来试图让这个坏男孩跑起来,但没有运气。这是一个完整的列表。我也包含了我的 gemfile。很明显,我是一个 RoR 新手。我使用 RubyMine 作为我的 IDE,在尝试调试时我收到一条错误消息,指出“当前未安装调试器所需的 gem ruby​​-debug-base19x。您要安装它吗?”。当然,在说“是”下载后,镜像坏了,下载失败导致以下错误:

下午 5:56:46 运行开发时出错:SponsorBid:无法启动 调试器。未安装 Gem 'ruby-debug-ide' 或其可执行文件 脚本“rdebug-ide”不存在。

【问题讨论】:

  • 你犯了所有可能的错误:使用错误的调试 gem,使用调试器 gem,有 2 个问题(有答案)可以解决你的问题:stackoverflow.com/a/10325110/104891stackoverflow.com/a/11674999/104891
  • 谢谢!你的建议非常有帮助。我没有收到有关未找到其他文件的一些错误无法在 10 秒内连接到端口 55473 的调试进程:错误输出:/Users/Collin/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/ site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 无法加载此类文件 -- /Users/Collin/.rvm/gems/ruby-1.9.3-p194/gems/linecache19-0.5.13 /lib/../lib/trace_nums19(加载错误)
  • 第一个链接已经包含 linecache19 问题的解决方案。
  • 第一个链接中 linecache19 的路径似乎刚刚超时(没有数据传输)。使用 gem 安装程序我得到这个 gem install linecache19-0.5.13.gem 错误:在任何存储库中找不到有效的 gem 'linecache19-0.5.13.gem' (>= 0)

标签: ruby-on-rails-3 rubymine


【解决方案1】:

尽管这个问题在这里重复了另外两个问题,但为了完整起见,我会回答它。

为了从 RubyMine 进行调试,您只能使用 2 个调试 gem:

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

必须使用这些宝石,not ruby-debug-base19, not ruby-debug19, not debugger。所有其他调试 gem 必须从 Gemfile 中卸载和删除。

See this answer 了解如何安装正确的调试 gem 版本的详细信息。如果您在下载 linecache19-0.5.13.gem gem 时遇到问题,请尝试使用 this mirror

通过gem list 验证您是否安装了以下或更新的版本:

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

此命令不应列出其他调试 gem。


由于stated in another answerdebugger gem 一定不能使用,它会与 RubyMine 使用的调试 gem 冲突,调试器将无法工作。您必须卸载此 gem,将其从 Gemfile 中删除,并确保您的代码不会调用此 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'`

只需运行 bundle install 即可获得所需调试 gem 的正确版本。

【讨论】:

  • 谢谢!这正是我的 RubyMine 4.5.2 版所需要的
  • 这可能是jetbrains.com/ruby/webhelp/remote-debugging.html 附近的好信息。为了找到它,我们花了很多时间挖掘。
  • 对于那些在遵循此答案后仍有问题的人,如果您使用的是 Mac OSX,请确保您的计算机名称已在系统偏好设置 |分享。我花了很长时间才弄清楚这一点。更多细节在这里:youtrack.jetbrains.com/issue/RUBY-8990
  • 我使用的是 IDEA 12,当我从我的 Gemfile 中删除所有调试 gem 时,包括ruby-debug-base19xruby-debug-ide,终于一切正常了。
  • @duma 这是预期的,因为 IDE 将自动安装正确的调试器 gem。
【解决方案2】:

这是我在我的 Gemfile 中使用的,用于通过 bundler 安装所需的 gem:

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'`

无需手动安装 gem,它会自动在您的开发人员的计算机上运行。

【讨论】:

    猜你喜欢
    • 2011-12-30
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 2011-02-09
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多