在RubyMine中调试Rails应用程序需要哪些宝石?

时间:2014-04-13 08:21:36

标签: ruby-on-rails debugging rubymine

我使用Ruby Mine 6.3,ruby 2.1和Rails 4.0.3。 哪些宝石需要使用Ruby Mine调试应用程序,我尝试使用这些宝石:

  gem 'debugger'
  gem 'debugger-xml'

但应用程序在断点处使用退出代码127崩溃,并打印出来:

  

.rvm /宝石/红宝石2.1.0 /扩展/ x86_64的-LINUX / 2.1.0 /调试-1.6.6 / ruby​​_debug.so:   未定义的符号:rb_vm_get_sourceline

更新

我将RubyMine更新为6.3.1,删除了'debugger','debugger-xml'(在Gemfile中只有'ruby-debug-ide')并且Debugging有效!

5 个答案:

答案 0 :(得分:4)

我建议一堆“better_errors”和“binding_of_caller”。 你可以在这里阅读:https://github.com/charliesome/better_errors

我经常使用这个宝石: https://gist.github.com/MrEmelianenko/11078561

答案 1 :(得分:2)

要改进您的控制台,请使用pry-rails,最好使用pry-doc

要在程序中进行调试,例如使用断点,介入/切换,您可以使用pry-byebugpry-debugger

P.S。这是我在终端中调试rails app的方法,我不确定Ruby Mine是否可以。希望这可以提供帮助。

答案 2 :(得分:1)

我一直很喜欢pry。它非常有用,易于学习screencast 这是我的Ruby 2&的调试堆栈。 Rails 3/4应用程序;)

group :development do
  gem 'pry'
  gem 'pry-nav'
  gem 'pry-rescue'
  gem 'pry-stack_explorer'
  gem 'pry-doc'
end

希望有所帮助

答案 3 :(得分:0)

正如您所提到的,您需要ruby-debug-ide,但不需要调试器或调试器-xml。

对于使用Ruby 2.0 / 2.1的Rubymine / IDea + Ruby插件,还可以尝试使用debase gem和ruby-debug-ide来加速调试。早期版本遇到了一些问题,但从2014年4月21日开始,它运行良好。

答案 4 :(得分:0)

您已找到答案,但我想添加小笔记

Rubymine与debugger宝石存在问题,或者可能是宝石碰撞(也许),rubymine使用fast-debugger (ruby-debug-ide)我觉得它不喜欢{{1}旧版本建议添加debugger,但是从我的测试中并没有真正发挥作用,当前版本有点容忍debugger-xml,但有时它会在断点期间冻结。

我的队友使用debugger,因此它被推送到了回购站,我所做的就是每当我需要调试时,我只是从我的debugger中删除debugger行并且等待rubymine检测到Gemfile更改(大约一两秒)并开始我的调试会话,我只是在推送之前检查差异时将其放回去。