调试Ruby on Rails app 1.9.2

时间:2011-09-20 14:12:45

标签: ruby-on-rails ruby garbage-collection irb

我一直在使用Ruby调试器,并希望能够从irb获得堆栈转储。我怎样才能获得垃圾收集转储?
我还应该用什么补丁来调整垃圾收集器?

1 个答案:

答案 0 :(得分:0)

在Ruby中,您可以随时重新打开类,并根据需要重新定义它们。因此,您可以重新打开GC类并添加转储或重新定义所需的任何方法。您还可以创建现有方法的别名,以便以后再次调用它们。例如。如果你有一个类Foo,方法bar,你想添加一些功能,你可以这样做:

class Foo
  alias :original_bar :bar
  def bar
    # do something new
    original_bar
  end
end

因此,您采用原始bar方法并将其别名为original_bar,然后重新打开bar并插入自定义代码,然后再次引用原始bar方法。坚持红宝石的力量!