2014-03-18 9 views
6

저는 j2ee 응용 프로그램을 가지고 있으며이를 visualVM으로 모니터링합니다.힙 파일의 로컬 변수를 어떻게 찾을 수 있습니까?

가 나는이 같은 방법이 말할 수 있습니다 : 스레드 탭에서

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

을 내 스레드의 일부는 위의 방법에 갇혀 볼 수 있습니다. 그래서 힙 덤프 파일을 생성하여 s와 sb가 무엇인지 파악합니다.

하지만 어떻게 할 수 있습니까? Eclipse 메모리 분석기를 사용하고 있습니다.

답변

11

로컬 변수가 현재 라이브 인 경우 해당 변수가 이고 그 변수에 대한 유일한 참조는 자체 스레드이므로 스레드에서 로컬 변수를 가져올 수 있습니다.

그래서 먼저 현재 스레드를 나열 할 필요에 의해하는 것이 당신이 할 수있는 작업의 객체 옵션 버튼을

  1. 클릭  [] 바.
  2. Java 기본 -> 스레드 개요 및 스택을 선택하십시오. 그런 다음

는 특정 스레드에 대한 객체를 나열하려면 다음 -> 목록 개체 -

  • 마우스 오른쪽 클릭> 보내는 참조

그런 다음 태그와 지역 변수를 검색 <Java Local>

+0

감사합니다. 이제 모든 로컬 변수를 볼 수 있습니다. – Sam

+0

축하해. :) – Salah