3

デバッグする必要がある古いプロジェクトに取り組んでいますが、デバッガーのインストールを管理できません。

ruby -v  # => ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin12.3.0]
rails -v # => Rails 2.3.17

gem install debugger

Installing debugger (1.6.1)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/lfender/.rvm/rubies/ruby-1.8.7-p352/bin/ruby extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
  --with-opt-dir
  --without-opt-dir
  --with-opt-include
  --without-opt-include=${opt-dir}/include
  --with-opt-lib
  --without-opt-lib=${opt-dir}/lib
  --with-make-prog
  --without-make-prog
  --srcdir=.
  --curdir
  --ruby=/Users/lfender/.rvm/rubies/ruby-1.8.7-p352/bin/ruby
extconf.rb:16:in `require': no such file to load -- debugger/ruby_core_source (LoadError)
  from extconf.rb:16


Gem files will remain installed in /Users/lfender/.rvm/gems/ruby-1.8.7-p352@nhg/gems/debugger-1.6.1 for inspection.
Results logged to /Users/lfender/.rvm/gems/ruby-1.8.7-p352@nhg/gems/debugger-1.6.1/ext/ruby_debug/gem_make.out

An error occurred while installing debugger (1.6.1), and Bundler cannot continue.
Make sure that `gem install debugger -v '1.6.1'` succeeds before bundling.

この問題により、一部の失敗した仕様をデバッグできません。どんな助けでも大歓迎です!

4

2 に答える 2

9

デバッガーは Ruby 1.9.2 および 1.9.3 用のようで、そのruby ​​-debugは Ruby 1.8 により適している可能性があります。

次のように使用ruby-debugしてみてください:

gem install ruby-debug

README から:

ruby-debug を実行するには 2 つの方法があります。

rdebug 実行可能ファイル:

$ rdebug <your-script>

この方法でスクリプトを開始すると、デバッガーはスクリプト ファイルのコードの最初の行で停止します。したがって、ブレークポイントを設定できます。

ruby-debug API

2 つ目の方法は、ruby-debug API を使用して、実行時にコードの実行を中断することです。

require 'ruby-debug' ; Debugger.start
...
def your_method
  ...
  debugger
  ...
end

また

require 'ruby-debug' ; 
Debugger.start do 
  ...
  debugger
end

メソッドが実行されるとKernel#debugger、デバッガーがアクティブになり、コードを検査してステップ実行できるようになります。

于 2013-07-18T15:30:36.867 に答える
-1

または、'debugger' を Gemfile の開発ブロックに移動することもできます。

group :development, :test do
  gem 'debugger'
end
于 2013-11-24T01:18:14.960 に答える