2011-03-22 3 views
5

은 좀 스레드를 가진 Java 응용 프로그램을 개발하고있다. 예를 들어 17, 18, 19 등의 threadId를 콘솔에 인쇄합니다. 그러나 내가 디버그 퍼스펙티브를 열어 놓았을 때, 현재의 쓰레드를 보여 주지만 [Thread-2], [thread-3]을 사용하는 "Debug"윈도우 (가장 왼쪽 창)가 있습니다. 그 수는 ThreadIds와 반드시 일치하지는 않습니다.Eclipse Debug Perspective에서 스레드를 식별하는 방법은 무엇입니까?

내 콘솔에있는 ThreadId와 "디버그"창에 표시된 스레드를 연관시킬 수있는 방법이 있습니까?

답변

6

나는 그렇게 할 수있는 방법을 알고하지 않습니다.

그러나, 또 다른 방법이있다. 이러한 스레드 이름은 사용중인 Thread 생성자에 의해 자동으로 생성됩니다. 그러나 스레드의 이름을 변경할 수 있습니다 Thread.setName()라는 방법이있다. 응용 프로그램을 조정하여 스레드의 ID와 일치하도록 만드는 스레드의 이름을 변경할 수 있습니다.

3

가 이클립스와 같은 아무것도 없다,하지만 당신은 어떤 스레드를 찾으려면, 다음 코드를 디버깅 포인트를 추가하고 호출

Thread.currentThread(); 

현재 실행 스레드를 발견합니다.

동일한 내용에 대한 자세한 내용은이 스레드를보세요.

http://dev.eclipse.org/mhonarc/lists/platform-debug-dev/msg00845.html

1

대신 스레드 ID를 인쇄, 당신은 스레드의 이름을 인쇄 할 수 있습니다. Thread.currentThread().getName(). 이것이 디버거에 표시된 이름입니다.

+0

Stephen C의 답변과 유사하지만이 질문이 정답으로 표시되어야한다고 생각합니다. –

관련 문제