90

你们在 ruby​​ 1.9 中使用什么进行调试?rdebug 似乎不兼容..那里有什么吗?

4

12 回答 12

167

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

但是还有一个选择:

debugger救援!

把它放在你的Gemfile

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

它只是工作。- 自 3.2 以来,它已包含在 rails Gemfile 中。要替换的东西ruby-debug19。它具有完全相同的功能并得到积极维护。

于 2012-05-02T13:41:27.217 回答
70

Ruby 2.0+ 及以下版本的更新

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

此问题已在此处记录,调试器的作者 cldwalker 指出,调试器将适用于 Ruby 1.9.2 和 1.9.3。

更新 2

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

如果您需要帮助以开始使用新的 gem,您可以使用新的调试器 gem ,您可以看到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

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

于 2010-05-13T11:00:36.073 回答
50

注意:这个答案是正确的,但现在已经过时了。请参阅下面的正确答案。TL;DR:现在使用“调试器”。

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

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

gem install ruby-debug19

(可能前面有必要的“sudo”)。

于 2009-07-26T23:14:32.170 回答
3

有些事情你可以尝试

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

2)用展开器宝石运行它[有点臭,很慢]

3)快速使用大量打印语句,减少自省

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

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

5) 也许 1.9 兼容模式下的 jruby 有调试器?

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

于 2009-07-06T12:53:58.357 回答
3

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

gem update ruby-debug-base19

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

于 2010-08-22T16:55:24.810 回答
2

在这里查看我的答案: Ruby-debug not working - 代码日志

这是关于让 Ruby 调试与以下设置一起工作

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

    rvm use ruby-1.9.3-p0@mygemset
    

我希望这有帮助!

——弗莱迪

于 2012-02-13T12:12:59.097 回答
2

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

宝石“调试器”,组:[:开发,:测试]

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

于 2013-04-01T01:10:05.027 回答
0

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

于 2009-07-06T14:28:43.543 回答
0

ruby 1.9.1-p243 版本已经发布,可兼容的 ruby​​-debug-ide 也可以正常工作。使用以下命令安装 ruby​​-debug-ide:

宝石安装 ruby​​-debug-ide

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

于 2009-08-29T17:04:16.173 回答
0

ruby-debug-ide19 gem 中提供了最新功能。

于 2009-10-02T16:35:13.967 回答
0

有很多选择,看你的需求。

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

于 2018-05-01T10:55:13.313 回答
-1

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

那么您可以使用: b script.rb:##(其中 ## 是有效 ruby​​ 命令的行号)否则您可能会处于 ruby​​gems 或您所需的代码块之一的中间。

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

于 2013-08-10T00:08:22.363 回答