在ruby 1.9中调试

时间:2009-07-05 04:27:52

标签: ruby debugging rdebug

你们在ruby 1.9中用什么调试? rdebug似乎不兼容..那里有什么东西吗?

12 个答案:

答案 0 :(得分:167)

ruby-debug19不再维护。所有其他答案都已过时。

但还有另一种选择:

debugger救援!

将其放入Gemfile

gem 'debugger', group: [:development, :test]

它只是工作。 - 它包含在rails Gemfile中,因为3.2.something要替换ruby-debug19。它具有完全相同的功能并且得到了积极维护。

答案 1 :(得分:70)

RUBY 2.0+更新及以下

byebug是目前推荐的Ruby 2.0 +调试器

这个问题一直是documented here,而调试器的作者cldwalker指出调试器的范围是Ruby 1.9.2和1.9.3。

更新2

即使我找不到任何不再维护的地方,确实没有积极维护ruby-debug。

如果您需要帮助,可以使用new debugger gem开始使用Ryan Bates rails cast新的宝石。

在您的Gemfile中放置:

gem 'debugger', group: [:development, :test]

然后,您可以使用debugger关键字在代码中的任意位置添加断点。

您仍然可以使用

linecache19和ruby-debug-base19 with:

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

这解决了我的问题。

OLD UPDATE

如果你遇到ruby 1.9.2和Rails 3调试put:

的问题
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

在您的Gemfile中并执行

bundle install

再次让你成为一个快乐的调试器。

答案 2 :(得分:50)

注意:这个答案是正确的,但现在已经过时了。请参阅以下正确答案。 TL; DR:现在使用'debugger'。

ruby​​-debug现在可用于Ruby 1.9.x.见http://www.github.com/mark-moseley

安装(在1.9 Ruby安装上使用gem):

gem install ruby-debug19

(也许前面有必要的'sudo')。

答案 3 :(得分:3)

你可以试试的一些事情

1)用ruby的普通调试器运行它-rdebug [1]慢一点

2)用unroller gem运行它[有点臭,慢慢的方式]

3)快速使用大量的印刷语句,可能更少内省

4)转到irb提示符并从那里运行一些代码。

你可以通过创建你自己的“drop to irb prompt”来列出代码,这些代码列出了自己的代码[使用调用者来发现你在哪里]然后转到正常的irb提示符。

5)在1.9 compat模式下jruby可能有调试器吗?

[1] http://beaver.net/rdebug/index-0.html

答案 4 :(得分:3)

如果在安装ruby-debug19后仍有问题,请尝试更新ruby-debug-base19。我有错误,无法在调试模式下运行WEBrick,直到我这样做。

gem update ruby-debug-base19

哦,谢谢Moseley先生的辛勤工作!

答案 5 :(得分:2)

请在此处查看我的回答: Ruby-debug not working - Stack Overflow

这是关于让Ruby调试使用以下设置

  • Mac OS X Lion 10.7.2
  • Aptana Studio 3(Build 3.0.8.201201201658)
  • 使用rvm,在我的项目工作目录中,我有一个.rvmrc说明:

    rvm use ruby-1.9.3-p0@mygemset
    

我希望这有帮助!

- 弗雷迪

答案 6 :(得分:2)

我使用了以下内容,它对我很有用:

gem'debugger',group:[:development,:test]

ruby​​ 1.9.3p194(2012-04-20修订版35410)[x86_64-linux] rails 3.2.8

答案 7 :(得分:0)

Netbeans是RoR的一个很好的IDE。也是好的调试器。

答案 8 :(得分:0)

ruby​​ 1.9.1-p243版本已经完成并且兼容ruby-debug-ide也正常工作。使用以下命令安装ruby-debug-ide:

  

gem install ruby​​-debug-ide

这将安装ruby-debug-base19和ruby-debug-ide gems。但在此之前,请确保按照RubyForge提供的开发工具包文档成功安装mingw。

答案 9 :(得分:0)

最新功能在ruby-debug-ide19 gem中可用。

答案 10 :(得分:0)

根据您的需要,有很多选择。

我使用pry-moves,因为我可以通过在调试模式下直接从该位置重新执行它们来“回顾”上一个命令内部发生的事情。

答案 11 :(得分:-1)

没有人使用: ruby -rdebug script.rb

然后你可以使用: b script.rb:##(其中##是有效ruby命令的行号)否则你可能会在rubygems或你需要的代码块中间。

然后你可以简单地将下一个断点设置为b:##