문제

은 그것을 얻을 수 thread dump Java 웹 응용 프로그램을 시작?고 할 수 있다면,어떻게 해야 하나요?

그것은 좋은 것이 있다면 간단한 솔루션을 수 있도록 비자(고객)을 만들 thread dump.또한,그것이 가능한 스레드를 작성하는 덤프 프로그래밍 방식으로?

에서 Java Web Start 콘솔 얻을 수 있는 목록의 스레드를 눌러't'지만 stacktraces 포함되지 않습니다.

경우 응답을 필요로 특정 자바 버전을 주시기 바랍니다.

도움이 되었습니까?

해결책

콘솔에서 보 V 보다는 오히려 T:

t:   dump thread list
v:   dump thread stack

이 작품에서 JDK6.지 않는 다른 사람에 대해 알고.

대체,아래 JDK5(그리고 아마도 이전)에 보낼 수 있습 전체 스택 추적의 모든 스레드 표준웃:

Windows 에서: 형 ctrl-에서 휴식 Java console.

아래에서 유닉스: kill -3 <java_process_id> (예:죽 -3 5555).이를 죽이지 않을 것입니다습니다.

다른 하나는 일:다른 사람으로 말,당신을 얻을 수 있는 스택 프로그래밍을 통해 Thread 클래스 하지만 조심 Thread.getAllStackTraces() 전 JDK6 있는 메모리 누수가 발생합니다.

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434648

감사합니다,

스코

다른 팁

최근 Jdk(슬프게도 Jre)공구를 포함 같이 jstack 는 이러한 것들입니다.Jvm 은 버전에서 5 포 JMX 확장를 얻을 덤프레드,메모리,통계,그리고 훨씬 더 많은.모든 java 응용 프로그램을 포함하여 웹 응용 프로그램을 시작한,이 기능을 사용할 수 있다.

당신은 것 중 하나가 필요 JDK 설치하거나 쓰기 JMX 클라이언트는 동일한 것입니다.살펴보 http://java.sun.com/javase/6/docs/technotes/guides/management/ 자세한 정보를 얻을 수 있습니다.

부터 1.5 사용할 수 있는 Thread.getAllStackTraces() 을 얻 Map 을 반복.

는 이상적인 출력이 될 것이라고 생산에서 Ctrl+\(또는 Ctrl 휴식 또는 유사한)지만,거기에있을 것 같지 않는 문서화된 방법으로 생산이다.는 경우 당신이 기꺼이 자신을 제한하는 태양의 JVM(또는 사용하는 반사가 가)있을 수 있습이 파고 주변 sun.* 패키지면 아무 것도 흥미로운 보여줍니다.

StackTraceElement[] stack = Thread.currentThread().getStackTrace();

다음을 반복 사용할 수 있습 컬렉션하는 표시의 상위 스택 요소에 관심이 있다.

이후 자바 5 있 getStackTrace()메서드의 스레드 클래스입니다.전 버전에 당신은 할 수 있습니다:

Thread.currentThread().dumpStack();

이것을 인쇄할 것이다 스택 추적하는 시스템입니다.나

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top