Answers:
注意:这个答案是正确的,但是现在已经过时了。请参阅以下正确答案。TL; DR:现在使用“调试器”。
ruby-debug现在可以在Ruby 1.9.x中使用。见http://www.github.com/mark-moseley
要安装(在1.9 Ruby安装上使用gem):
gem install ruby-debug19
(在其前面可能有必要的“ sudo”)。
ruby-debug19
不再维护。所有其他答案都已过时。
但是还有一种选择:
debugger
营救!
把它放在你的Gemfile
:
gem 'debugger', group: [:development, :test]
它只是工作。-自3.2.something以来,它已包含在rails Gemfile中ruby-debug19
。它具有完全相同的功能,并且会得到积极维护。
group :development do ... end
其中),因为它已经包含一个组。
RUBY 2.0+及以下更新
byebug是当前推荐用于Ruby 2.0+的调试器
此处已记录了此问题,调试器的作者cldwalker指出调试器的作用域为Ruby 1.9.2和1.9.3。
更新2
的确,即使我找不到任何不再维护的地方,也不会积极维护ruby-debug。
如果需要帮助来启动新的宝石,则可以使用新的调试器宝石,可以看到Ryan Bates rails cast。
在您的Gemfile中:
gem 'debugger', group: [:development, :test]
然后,您可以使用debugger
关键字在代码的任何位置添加断点。
您仍然可以使用
linecache19和ruby-debug-base19具有:
bash <<(curl -L https://raw.github.com/gist/1333785)
老答案
只是使用rvm,ruby 1.9.1-p378对此进行了补充。真实的故事是,即使ruby-debug已准备好1.9.x,linecache-0.43也没有。解决方案是安装:
gem install ruby-debug19
这为我解决了问题。
旧更新
如果您在使用ruby 1.9.2和Rails 3调试时遇到问题:
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
在您的Gemfile中并执行
bundle install
会让您再次成为快乐的调试器。
您可以尝试的一些方法
1)使用ruby的常规调试器-rdebug [1]运行它
2)用展开器宝石运行它[有点臭,很慢]
3)快速使用大量打印语句,可以减少自省
4)放到irb提示符下,然后从那里运行一些代码。
您可以通过创建自己的“放置到irb提示”来列出代码,并在其周围列出代码(使用调用方发现您在何处),然后放置到正常的irb提示中。
5)也许在1.9兼容模式下的jruby是否具有调试器?
在这里查看我的答案: Ruby-debug无法正常工作-代码日志
这是关于让Ruby调试与以下设置一起使用
使用rvm,在项目工作目录中有一个.rvmrc说明:
rvm use ruby-1.9.3-p0@mygemset
我希望这有帮助!
-弗雷迪
我使用了以下功能,对我来说非常有用:
gem'debugger',分组:[:development,:test]
ruby 1.9.3p194(2012-04-20修订版35410)[x86_64-linux] rails 3.2.8
ruby-debug-ide19 gem提供了最新功能。
根据您的需求,有很多选择。
我之所以使用pry-moves,是因为我可以从该位置以调试模式重新执行它们,从而可以“回顾”先前命令内部发生的情况。
ruby-debug19
现在已经过时了。