2

I'm using VisualVM and JProfiler to try and find a memory leak culprit. There's a PoolThreadCache class that has the biggest number of instances.

Is there a way to see the call trace of the object usage? Something like this:
com.my.CustomClass->a.b.c.AClass->d.e.f.BClass->g.h.i.PoolThreadCache
Can I use OQL for this or maybe some outgoing/incoming reference functionality?

Basically I want to find out who is com.my.CustomClass .

osmingo
  • 994
  • 1
  • 8
  • 16

1 Answers1

1

I assume that by

the call trace of the object usage

you mean the stack traces where objects were allocated.

In JProfiler, you have to start allocation recording, then the "Allocations" view of the heap walker will show you a cumulated call tree or a list of hotspots with backtraces where the objects in the current object were allocated.

enter image description here

Ingo Kegel
  • 46,523
  • 10
  • 71
  • 102
  • after some talks this way of debugging is not desirable, the best I can see so far is using the References tab-> incoming references ->show paths to GC Root – osmingo Aug 01 '17 at 12:25