我将实现堆分析的典型任务,其中包括跟踪哪个线程分配了多少数据。使用JVMTI,我认为挂钩到VM对象分配和对象释放事件就足够了。遗憾的是,由于对
我最后想到的办法是检查MethodExit事件是否其名称为
简单地迭代堆并没有关于哪个对象由哪个线程分配的信息。有人有什么想法如何实现这个吗?
new
的调用,第一个事件不会被触发。我最后想到的办法是检查MethodExit事件是否其名称为
<init>
,从而将此调用声明为对象分配。然而,在此事件中,我无法获取对象,因此无法调用GetObjectSize
。简单地迭代堆并没有关于哪个对象由哪个线程分配的信息。有人有什么想法如何实现这个吗?