ruby 2.0 undefined方法ObjectSpace.trace_object_allocations

时间:2013-07-26 19:31:11

标签: ruby ruby-2.0 objectspace

在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 个答案:

答案 0 :(得分:4)

对于更高级的ruby版本,您仍可能会出现以下错误:

undefined method `memsize_of' for ObjectSpace:Module

要解决此问题 - >您需要require 'objspace'。根据{{​​3}}

答案 1 :(得分:2)

仅在安装ruby-head aka ruby​​ 2.1

时可用

答案 2 :(得分:0)

在要求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方法,但遗憾的是不包含您要查找的方法。