2011-09-20 158 views
0

我一直在使用Ruby調試器,並希望能夠從irb獲取堆棧轉儲。我如何獲得垃圾收集轉儲?
另外,我應該使用什麼補丁來調整垃圾收集器?調試Ruby on Rails應用程序1.9.2

+1

只是一個想法,但如果你還不知道的答案,這兩個問題,你可能不應該在所有 – cpjolicoeur

+0

調整的GC我不'噸瞭解Ruby的東西。我剛剛進入了一個龐大的Ruby項目。我可以用Java來完成。是的,如果你知道我想用GC做的醜事,你會跳過電腦來給我打氣。 – Prospero

+0

什麼是你真正的目標,在這裏,找到內存泄漏? – rogerdpack

回答

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方法。擺脫紅寶石的力量!