ruby的debugging与Ruby 1.9.3?

我刚刚更新到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的debugging?

更新(2012年4月28日)

尝试新的debugging器gem作为ruby-debug的替代品。

( 信贷给@ryanb )


更新(2012年3月2日)

linecache19和ruby-debug-base19的安装可以很容易地完成:

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

( 信贷给@fredostarr )


原始答案

你有没有看ruby-debug19 ruby​​-1.9.3-preview1 ?

这是一个临时解决scheme: 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 

linecache19和ruby-debug-base19的安装可以很容易地完成:

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

其他人发表评论来尝试琉璃,这正是我所做的。 这是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有一些很好的function,我想查看一下,一旦有一种简单的方法将它集成到Ruby 1.9.3的Rails项目中,我可能会返回到ruby-debug。 我可以从其他答案运行curl命令,但这是我必须指出我的队友为我们的Rails项目,所以它不能很好地扩展IMO。

也许不是这个问题的明确答案,但是我是由一连串的重复副本引导的。

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

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

现在它适用于ruby。

欲了解更多信息,请参阅这里: http : //gembundler.com/man/gemfile.5.html#PLATFORMS-platforms-

对于Windows用户:

首先下载:linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem来自: http ://rubyforge.org/frs/?group_id=8883&release_id=46303

假设:Ruby在c:\ Ruby1.93

把gem文件下载到c:\ temp(linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem)

然后从命令行执行:

gem install 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

顺便说一句,如果你使用最新的补丁ruby1.9.3(猎鹰, 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 

看到我的答案在这里: 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 

基本上,我不得不使用:

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

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

我希望这有帮助!

– 弗雷迪

你也需要检查是否已经安装了gem'ruby_source_code'。

检查: http : //bugs.ruby-lang.org/issues/1857#note-8

如果你没有rvm并假设你在ruby安装在/usr/local/ruby-1.9.3-po,你可以使用这个命令:

curl -L https://raw.github.com/gist/1533750 | sudo / bin / bash