Hprof文件解析

https://java.net/downloads/heap-snapshot/hprof-binary-format.html
https://github.com/badoo/hprof-tools
第一个链接为hprof文件的字段说明,第二个文件为github上面的一个解析hprof的开源项目
需要注意的几个重点:
INSTANCE DUMP标签中的字段[value]*的解析需要结合标签CLASS DUMP中最后一个u2(Number of instance fields (not including super class's))字段来解析;
该value中的值也还包括super_class中的instance field的字段。
所有Basic Type中type值为2的对应的value是该object的id,该id可能是instance、objArr、PrimitiveArr的id。
class dump中的static和constant的field不包含在instance field中。
dump_tag中包含root字段的就是gcroot,查找某个实例是否泄漏的就是查找该实例到root的路径

posted @ 2016-05-30 19:50  李泽波呵呵  阅读(5202)  评论(1编辑  收藏  举报