我使用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有效!
答案 0 :(得分:4)
我建议一堆“better_errors”和“binding_of_caller”。 你可以在这里阅读:https://github.com/charliesome/better_errors
答案 1 :(得分:2)
要改进您的控制台,请使用pry-rails,最好使用pry-doc
。
要在程序中进行调试,例如使用断点,介入/切换,您可以使用pry-byebug或pry-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
更改(大约一两秒)并开始我的调试会话,我只是在推送之前检查差异时将其放回去。