How can I find the local variables in Heap file
Asked Answered
E

1

11

I have a j2ee application and monitoring it by visualVM.

Lets say that I have a method like this:

public void doStuff(int param) {
    String s = getStringVariable(param);
    StringBuilder sb = new StringBuilder();
    //Do stuff with sb object
}

From the thread tap, I can see that some of my threads stuck in the above method. So I have generated a heap dump file to figure out what is s and sb contains.

But how can I do that? I am using Eclipse Memory Analyzer.

Edmead answered 18/3, 2014 at 21:33 Comment(0)
M
18

you can get the local variable's from your thread, because if a local variable is a currently a live, then that means the only reference for that variable is its own thread.

So first you need to list your current threads, and you can do that by:

  1. Click on the objects options button from the actions bar [].
  2. Select Java Basics -> Threads Overview and Stacks.

Then to list the object for a specific Thread:

  • Right Click -> List Object -> OutGoing references

Then Search for your local variable with in a tag <Java Local>

Midtown answered 18/3, 2014 at 21:34 Comment(1)
Thank you, now i can see all my local variables.Edmead

© 2022 - 2024 — McMap. All rights reserved.