红宝石调试与Ruby 1.9.3?


70

我刚刚更新到Ruby 1.9.3p0和Rails 3.1.1。现在,当我尝试启动服务器时,它抱怨我应该安装ruby-debug,即使它已经安装了。

% rails server --environment=development --debug
=> Booting WEBrick
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug'
Exiting

在我的Gemfile中,我有

# see: http://stackoverflow.com/questions/1083451/debugging-in-ruby-1-9
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

是否可以使用最新版本的Ruby运行调试?


Answers:


102

更新(2012年4月28日)

尝试使用新的调试器gem代替ruby-debug。

感谢@ryanb


更新(2012年3月2日)

可以轻松地安装linecache19和ruby-debug-base19:

bash < <(curl -L https://raw.github.com/gist/1333785)

感谢@fredostarr


原始答案

您是否看过ruby-1.9.3-preview1上的ruby-debug19

这是一个临时解决方案:http : //blog.wyeworks.com/2011/11/1/ruby-1-9-3-and-ruby-debug

网站摘录:

首先从http://rubyforge.org/frs/?group_id=8883下载linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem ,然后…

$ gem install linecache19-0.5.13.gem 
Building native extensions.  This could take a while...
Successfully installed linecache19-0.5.13
1 gem installed
$ gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/Users/santiago/.rbenv/source/ruby-1.9.3-p0  
Building native extensions.  This could take a while...
Successfully installed ruby-debug-base19-0.11.26
1 gem installed
$ irb
irb(main):001:0> require 'ruby-debug'
=> true

3
这种方法的问题在于,这些步骤可以绕开Gemfile步骤,在运行之前添加一个手动步骤bundle install。我写了一个解决方案,可让您在此处正常运行捆绑程序:git.io/72UfQg
chuckg 2012年

11
尝试新的“调试器” gem:gem 'debugger' github.com/cldwalker/debugger
ryanb 2012年

更新:我已经将这些宝石包装好并放在了宝石怒之下。如果使用捆绑程序,则记住--with-ruby-include很好。

1
调试器很棒。这有效。我的回答跳上了自己的剑。

这是我将其安装到rvm Ruby 1.9.3的本地机器上的方法:-gist.github.com/4132084。Hth ..
boddhisattva 2012年

33

可以轻松地安装linecache19和ruby-debug-base19:

bash < <(curl -L https://raw.github.com/gist/1333785)

谢谢@fredostarr!非常好。
唐·里瑟姆

1
除了这一点,它在轨工作,我需要添加到我的Gemfile gem 'linecache19', '>= 0.5.13' gem 'ruby-debug-base19', '>= 0.11.26' gem 'ruby-debug19'
雅各布

7
尝试新的“调试器” gem:gem 'debugger' github.com/cldwalker/debugger
ryanb 2012年

@ryanb谢谢你,先生!我害怕尝试使rdebug与1.9.3一起使用(而delay_job对1.9.2-p290造成了严重破坏)
vfilby 2012年

5

有人在评论中发布了尝试Pry的方法,这就是我所做的。这是Rails所必需的:

# Gemfile
gem 'pry-rails'


# In your Rails Project where you want a 'debugger'

puts 'i want to insert some code between this'

binding.pry

puts 'and this'

安装后,我立即注意到我.irbrc没有加载,所以我没有得到漂亮的控制台输出。我也将此添加到我的“〜/ .pryrc”中

# setting up pry to have irb helpers like reload!
if defined?(Rails) && Rails.env
  extend Rails::ConsoleMethods
end

Pry具有一些我想检查的好功能,一旦有一种简单的方法可以将其集成到Ruby 1.9.3的Rails项目中,我可能仍会回到ruby-debug。我可以从其他答案中运行curl命令,但这是我的团队成员必须为我们的Rails项目指点的东西,因此IMO不能很好地扩展。


4

也许不是这个问题的明确答案,但是在这里,我被一连串封闭的重复项目所引导。

对我来说,问题是我在ruby 1.8和ruby 1.9中都运行了一个项目,而我的Gemfile需要进行以下更改:

gem 'debugger', :require => 'ruby-debug', :platforms => :mri_19
gem 'ruby-debug', :platforms => :mri_18

现在,它适用于两个红宝石。

有关更多信息,请参见此处:http : //gembundler.com/man/gemfile.5.html#PLATFORMS-platforms-


2

对于Windows用户:

首先下载:linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem来自: http

假设:Ruby位于c:\ Ruby1.93中

将下载的gem文件放入c:\ temp(linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem)

然后从命令行执行:

宝石安装c:\ temp \ linecache19-0.5.13.gem

gem install c:\ temp \ ruby​​-debug-base19-0.11.26.gem---with-ruby-include = C:\ Ruby1.93 \ include \ ruby​​-1.9.1 \ ruby​​-1.9.3-p0


Ruby Installer的默认路径是C:\ Ruby193。另外,这需要DevKit。

1

顺便说一句,如果您使用最新的ruby1.9.3补丁(falcon,https: //gist.github.com/1688857 ),请使用以下命令

wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
wget http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem

gem install linecache19-0.5.13.gem
## with rvm: 
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$HOME/.rvm/src/ruby-1.9.3-p0-falcon
## with rbenv (this is a guess): 
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$HOME/.rbenv/source/ruby-1.9.3-p0-falcon

有人在生产中运行此程序吗?

1
好。我不相信它可以运行任何大型站点……有太多轻微的边缘情况,而这仅仅是边缘性的。等待几个月,大多数错误应在此之前解决。干杯!
mindreframer 2012年

已检查:Falcon补丁程序和朋友至少在加快本地开发人员方面都很棒。

1

在这里查看我的答案: Ruby-debug无法正常工作-代码日志

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

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

    rvm use ruby-1.9.3-p0@mygemset
    

基本上,我不得不使用:

linecache19 (0.5.13)
ruby-debug-base19x (0.11.30.pre10)
ruby-debug-ide (0.4.16)

请注意,我没有使用ruby-debug-base19,而是使用ruby-debug-base19x

我希望这有帮助!

-弗雷迪



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.