2016-07-20 3 views
0

스레드 세부 정보가있는 실행중인 JVM의 메소드를 추적하는 방법입니까?Java의 thread에 관한 메소드 플로우를 추적합니다.

처럼 :

내가 Method1, 2 등이라고 스레드 1과 같이 추적 할 수있는 방법이 있는지보고 싶어
Method 1 -> Method 2 -> Method 3 -> Method 4 //called by Thread 1 
Method 10 -> Method 20 -> Method 30 -> Method 40 //called by Thread 2 

? 어디 2 번 스레드로 Method 10,20 등?

+1

당신이 찾고있는 것이 확실하지 않지만'getStackTrace()'를 사용하여 현재 특정 스레드가 실행하는 메소드 목록 (스택 추적 요소)을 얻을 수 있습니다. 예 :'someThread.getStackTrace()'. – Titus

답변

0

Java Runtime 클래스를 사용하여 Java 런타임 환경과 상호 작용할 수 있습니다. java.lang.Runtime.getRuntime() 메소드는 현재 Java 응용 프로그램과 연관된 런타임 오브젝트를 리턴합니다. 이 개체를 사용하여 나를 추적 할 수 있습니다.

공공 정적 무효 메인 (문자열 []에 args) {

프로그램

에서 System.out.println ("프로그램 시작 ...")를 시작

// 인쇄;

//이 과정

런타임 실행 = Runtime.getRuntime와 assosiated 현재 런타임을 얻을;

//이 실행

에서 System.out.println에 대한 현재 사용 가능한 메모리를 인쇄 (""+ run.freeMemory()); }