ruby 2.0 неопределенный метод ObjectSpace.trace_object_allocations

Попробовал это на ruby ​​2.0.0 / 247 или голову:

require 'objspace'
ObjectSpace.trace_object_allocations -> undefined method `trace_object_allocations' 
for ObjectSpace:Module

Документы говорят, что это должно работать http://www.ruby-doc.org/stdlib-2.0/libdoc/objspace/rdoc/ObjectSpace.html Есть идеи, что мне не хватает?

3 ответа

Для более высоких версий ruby ​​вы все еще можете получить такие ошибки, как:

undefined method `memsize_of' for ObjectSpace:Module

Чтобы решить эту проблему -> Вам нужно require 'objspace', Согласно https://ruby-doc.org/stdlib-2.3.1/libdoc/objspace/rdoc/ObjectSpace.html

Доступно только при установке ruby-head aka ruby ​​2.1

Из вывода puts ObjectSpace.methods.sort после требования objspaceпохоже, что этот метод не существует.

irb(main):005:0> puts ObjectSpace.methods.sort
...
reachable_objects_from
remove_class_variable
remove_instance_variable
respond_to?
send
singleton_class
singleton_methods
 taint
tainted?
tap
to_enum
to_s
trust
undefine_finalizer
untaint
untrust
untrusted?
=> nil
irb(main):009:0> ObjectSpace.methods.include? :trace_object_allocations
=> false

Вы можете видеть, что он содержит ::reachable_objects_from метод, который упоминается в документации, но не тот, который вы ищете, к сожалению.

Другие вопросы по тегам