Отладка приложения Ruby on Rails 1.9.2 - PullRequest
0 голосов
/ 20 сентября 2011

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

1 Ответ

0 голосов
/ 20 сентября 2011

В Ruby вы можете заново открыть классы в любой момент и переопределить их, если хотите. Таким образом, вы можете заново открыть класс GC и добавить дампы или переопределить любые методы, которые вы хотите. Вы также создаете псевдонимы существующих методов, чтобы потом вызывать их снова. Например. если у вас есть класс Foo с методом bar, в который вы хотите добавить некоторые функции, вы можете сделать что-то вроде:

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

Таким образом, вы берете оригинальный метод bar и присваиваете ему псевдоним original_bar, затем снова открываете bar и вставляете свой собственный код, затем снова ссылаетесь на оригинальный метод bar. ВЗГЛЯД НА СИЛУ РУБИНЫ!

...