0

「デバッガー」gem を使用して Ruby コードを実行しています。My Code の 2 行目を通過すると、デバッガーは次から次へと悪質な Ruby 関数とメソッドのフレームにジャンプします。ここで何が起こっているのか。デバッガーを約 50 回実行しましたが、まだコードに戻っていません。

マイコード

[-3, 6] in C:/RUBY/prep-work-master/coding-test-2/practice-problems/spec/00_neare
   1  require '00_nearest_larger'
=> 2  require 'rspec'
   3
   4  # Write a function, `nearest_larger(arr, i)` which takes an array and an
   5  # index.  The function should return another index, `j`: this should
   6  # satisfy:
(rdb:1) n

デバッガーはここにジャンプします: これはどこですか? C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/rubygems.rb:982 spec = @path_to_default_spec_map["#{path}#{suffix}"]

[977, 986] in C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/rubygems.rb
   977      ##
   978      # Find a Gem::Specification of default gem from +path+
   979
   980      def find_unresolved_default_spec(path)
   981        Gem.suffixes.each do |suffix|
=> 982          spec = @path_to_default_spec_map["#{path}#{suffix}"]
   983          return spec if spec
   984        end
   985        nil
   986      end
(rdb:1)
4

2 に答える 2

1

gemはdebuggerRuby >= 2.0 では正しく動作しません。その主な問題は、nextコマンドが次の行に移動する代わりに「ステップイン」することです。

代わりにbyebugを試してください。免責事項:私はbyebugの著者です。

于 2013-08-26T21:42:52.417 に答える