неопределенный метод 'threads', использующий ruby-prof - PullRequest
1 голос
/ 19 мая 2011

Я пытаюсь использовать ruby-prof для профилирования некоторого кода.Кажется, работает, пока строка, указанная ниже:

require 'rubygems'
require 'ruby-prof'
result = RubyProf.start do
  puts "do stuff..."
end

printer = RubyProf::FlatPrinter.new(result)
printer.print(STDOUT, {})  #fails here

Ошибка:

hulkster@ubuntu:~/code/clancms$ ruby ./memtest.rb
/home/hulkster/.rvm/gems/ruby-1.9.2-p180/gems/ruby-prof-0.10.7/lib/ruby-prof/flat_printer.rb:31:in `print_threads': undefined method `threads' for RubyProf:Module (NoMethodError)
    from /home/hulkster/.rvm/gems/ruby-1.9.2-p180/gems/ruby-prof-0.10.7/lib/ruby-prof/flat_printer.rb:25:in `print'
    from ./memtest.rb:8:in `<main>'

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 29 декабря 2015

Я получил эту ошибку. Возможно ли, что вы затемняете результирующую переменную / назначаете ее чему-то другому позже в своем коде? Убедитесь, что передаваемый вами «результат» действительно является объектом результата RubyProf.

0 голосов
/ 20 мая 2011

Вы уверены, что это должно быть printer.print(STDOUT, {}), а не printer.print(STDOUT, 0)?

Проверьте, помогает ли отключение сбора мусора.См. Следующий отчет об ошибке: https://github.com/rdp/ruby-prof/issues/80

Также посмотрите, помогает ли запуск его под Ruby 1.8 (MRI).

Если вы можете создать более конкретный отчет об ошибке, это такжеполезно.(

...