当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby ObjectSpace.trace_object_allocations用法及代码示例


本文简要介绍ruby语言中 ObjectSpace.trace_object_allocations 的用法。

用法

trace_object_allocations { block }

ObjectSpace 扩展模块开始跟踪对象分配。

例如:

require 'objspace'

class C
  include ObjectSpace

  def foo
    trace_object_allocations do
      obj = Object.new
      p "#{allocation_sourcefile(obj)}:#{allocation_sourceline(obj)}"
    end
  end
end

C.new.foo #=> "objtrace.rb:8"

此示例包含 ObjectSpace 模块以使其更易于阅读,但您也可以使用 ::trace_object_allocations 表示法(推荐)。

请注意,此函数会导致巨大的性能下降和巨大的内存消耗。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 ObjectSpace.trace_object_allocations。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。