当单步执行Rails中的Ruby Debugger时,我如何只停留在我编写的代码中,跳过所有本机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}
谢谢!
答案 0 :(得分:1)
如果我理解你的问题,我认为你所寻找的是this。 你会想要跨步而不是步入,如果你使用rails的方法你不会进入rails代码。我希望这会有所帮助并祝你好运。
答案 1 :(得分:1)
如果你偶尔介入一些Rails代码,只需在控制台中press c
。这会将您移动到您设置的下一个断点(如果您在循环中,则返回到同一个断点),或者只是在没有断点的情况下结束页面请求。
答案 2 :(得分:0)
有3个主要的调试命令
您正在寻找的是“n”,它允许您浏览方法列表,而无需进入包含其余代码的代码或ruby gem。