我正在尝试调试Rails应用程序中的内存泄漏,并尝试通过使用ObjectSpace#trace_object_allocations来获取现有对象的转储。
为了使我更好地理解输出结果,我认为我应该充分理解输出JSON行的含义:
{
"address":"0x7fb716009c20",
"type":"STRING",
"class":"0x7fb7360d40e0",
"embedded":true,
"bytesize":1,
"value":"f",
"encoding":"UTF-8",
"file":"/Users/songyy/.rvm/gems/ruby-2.3.1/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/quoting.rb",
"line":78,
"method":"unquoted_false",
"generation":93,
"memsize":40,
"flags":{
"wb_protected":true,
"old":true,
"uncollectible":true,
"marked":true
}
}
是否有任何参考资料可以解释此JSON对象中各项的确切含义?
特别是我对以下内容感兴趣:
- class(类)
- embedded(嵌入式)
- bytesize(字节大小)
- generation(代数)
- flags(标记)
- wb_protected(写保护)
- old(旧)
- uncollectible(不可回收)
- marked(已标记)