java如何在堆文件中找到局部变量
我有一个j2ee应用程序,并通过visualVM监控它
假设我有这样一种方法:
public void doStuff(int param) {
String s = getStringVariable(param);
StringBuilder sb = new StringBuilder();
//Do stuff with sb object
}
从线程点击中,我可以看到我的一些线程卡在上述方法中。因此,我生成了一个堆转储文件,以确定s和sb包含什么
但是我怎么能做到呢?我正在使用Eclipse内存分析器
# 1 楼答案
您可以从线程中获取局部变量,因为如果局部变量当前是活动的,那么这意味着该变量的唯一引用是它自己的线程
因此,首先您需要列出您当前的线程,您可以通过以下方式完成:
然后列出特定线程的对象:
然后在标记
<Java Local>
中搜索局部变量