在Ruby中debugging1.9
你们在ruby 1.9中使用什么进行debugging? rdebug似乎不兼容..有没有什么东西在那里?
注意:这个答案是正确的,但现在已经过时了。 请看下面的正确答案。 TL; DR:现在使用“debugging器”。
ruby-debug现在可以在Ruby 1.9.x中使用。 见http://www.github.com/mark-moseley
安装(使用1.9 Ruby安装上的gem):
gem install ruby-debug19
(也许在它前面有必要的“sudo”)。
ruby-debug19
不再被维护。 所有其他答案已经过时。
但是有一个select:
debugger
来救援!
把它放在你的Gemfile
:
gem 'debugger', group: [:development, :test]
它只是工作。 – 它自3.2被包含在rails ruby-debug19
。replaceruby-debug19
。 它具有完全相同的function,并得到积极维护。
更新RUBY 2.0+和以下
byebug是目前推荐的Ruby 2.0+debugging器
这个问题已经在这里被logging了 ,debugging器的作者cldwalker指出debugging器的范围是Ruby 1.9.2和1.9.3。
更新2
确实,ruby-debug没有被主动维护,即使我找不到任何不再被维护的地方。
你可以使用新的debugging器gem,如果你需要帮助开始新的gem,你可以看到瑞安贝茨铁路投 。
在你的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也不是。 解决scheme是安装:
gem install ruby-debug19
这为我解决了这个问题。
旧的更新
如果您在使用ruby 1.9.2和Rails 3进行debugging时遇到问题:
gem 'ruby-debug-base19', "0.11.24" gem 'ruby-debug19', "0.11.6"
在你的Gemfile中做一个
bundle install
会再次让你一个快乐的debugging器。
有些事情你可以尝试
1)用ruby的普通debugging器-rdebug [1]运行它慢一点
2)用unroller gem运行它[有点发臭,方式慢]
3)快速使用大量的打印语句,可能会less一些内省
4)下降到irb提示符并从那里运行一些代码。
你可以通过创build自己的“drop to irb prompt”来列出代码,该代码将自己的代码列出(使用调用者发现你的位置)然后放到正常的irb提示符下。
5)也许在1.9 compat模式jruby有一个debugging器?
如果安装ruby-debug19后仍然有问题,请尝试更新ruby-debug-base19。 我有错误,无法在debugging模式下运行WEBrick,直到我这样做。
gem update ruby-debug-base19
噢,谢谢莫斯利先生你辛苦的工作!
看到我的答案在这里: Ruby的debugging不工作 – 堆栈溢出
这是关于让Rubydebugging以使用以下设置
- 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
我希望这有帮助!
– 弗雷迪
我使用以下,它对我很好:
gem“debugging器”,组:[:开发,:testing]
ruby1.9.3p194(2012-04-20修订版35410)[x86_64-linux] rails 3.2.8
Netbeans是一个很好的RoR IDE。 好的debugging器也一样。
ruby1.9.1-p243版本已经出来,可编辑的ruby-debug-ide也正常工作。 使用以下命令安装ruby-debug-ide:
gem install ruby-debug-ide
这将安装ruby-debug-base19和ruby-debug-ide gem。 但在此之前,请确保您按照RubyForge提供的开发套件文档成功安装了mingw。
最新的function在ruby-debug-ide19 gem中可用。
没有人使用:ruby -rdebug script.rb
那么你可以使用:b script.rb:##(其中##是一个有效的ruby命令的行号),否则你可能会在rubygems或你需要的一个代码块中间。
那么你可以简单地设置下一个断点为b:##