當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。