我一直在使用Ruby调试器,并希望能够从irb获得堆栈转储。我怎样才能获得垃圾收集转储?
我还应该用什么补丁来调整垃圾收集器?
答案 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
方法。坚持红宝石的力量!