Ruby Debug: пропустить код Rails - PullRequest
5 голосов
/ 28 марта 2012

Когда вы проходите через Ruby Debugger в Rails, как мне сделать так, чтобы он останавливался только на написанном мною коде, пропуская весь нативный код Rails?

(т.е. пропускал весь код, который выглядит следующим образом)

/Users/jon/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.2.1/lib/active_support/core_ext/module/remove_method.rb:4
remove_method(method)
(rdb:1) s
[76, 85] in /Users/jon/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.2.1/lib/active_support/core_ext/class/attribute.rb
   76          def self.#{name}?() !!#{name} end
   77  
   78          def self.#{name}=(val)
   79            singleton_class.class_eval do
   80              remove_possible_method(:#{name})
=> 81              define_method(:#{name}) { val }
   82            end
   83  
   84            if singleton_class?
   85              class_eval do
/Users/jon/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.2.1/lib/active_support/core_ext/class/attribute.rb:81
define_method(:#{name}) { val }
(rdb:1) s
[79, 88] in /Users/jon/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.2.1/lib/active_support/core_ext/class/attribute.rb
   79            singleton_class.class_eval do
   80              remove_possible_method(:#{name})
   81              define_method(:#{name}) { val }
   82            end
   83  
=> 84            if singleton_class?
   85              class_eval do
   86                remove_possible_method(:#{name})
   87                def #{name}
   88                  defined?(@#{name}) ? @#{name} : singleton_class.#{name}

Спасибо!

Ответы [ 3 ]

1 голос
/ 28 марта 2012

Если вы время от времени входите в код Rails, просто нажмите c на консоли. Это переместит вас к следующей установленной вами точке останова (или вернется к той же точке, если вы находитесь внутри цикла) или просто завершит запрос страницы, если не осталось точек останова.

1 голос
/ 28 марта 2012

Я думаю, что вы ищете что-то вроде это , если я правильно понимаю ваш вопрос. Вы захотите перешагнуть, а не вступать таким образом, если вы используете метод для rails, вы не переходите в код rails. Надеюсь, это поможет и удачи.

0 голосов
/ 05 ноября 2012

Есть 3 основных команды отладки

  • c - Продолжить
  • с - шаг в
  • n - следующий / Перешагнуть

То, что вы ищете, это "n", оно позволяет вам просматривать список методов, не вдаваясь в код или гем ruby, содержащий остальную часть кода.

...