디버거 붙여야 스레드 리스팅 볼 수 있는 것도 귀찮고 잘못 만들어진 프로그램들이 스레드 하나 잡고 가사 상태에 빠지는 경우들도 있고 그래서 전체 스레드 제어가 가능하게 기능 추가하고 있다. 그냥 다 찍었더니 출력이 흉악하네..
kraken> thread.stacks
Name: Signal Dispatcher, Status: RUNNABLE
Name: FelixStartLevel, Status: WAITING
java.lang.Object.wait (Object.java:-2)
java.lang.Object.wait (Object.java:485)
org.apache.felix.framework.StartLevelImpl.run (StartLevelImpl.java:242)
java.lang.Thread.run (null:-1)
Name: Reference Handler, Status: WAITING
java.lang.Object.wait (Object.java:-2)
java.lang.Object.wait (Object.java:485)
java.lang.ref.Reference$ReferenceHandler.run (null:-1)
Name: FelixPackageAdmin, Status: WAITING
java.lang.Object.wait (Object.java:-2)
java.lang.Object.wait (Object.java:485)
org.apache.felix.framework.PackageAdminImpl.run (PackageAdminImpl.java:314)
java.lang.Thread.run (null:-1)
Name: Timer-0, Status: TIMED_WAITING
java.lang.Object.wait (Object.java:-2)
java.util.TimerThread.mainLoop (null:-1)
java.util.TimerThread.run (null:-1)
Name: FelixDispatchQueue, Status: WAITING
java.lang.Object.wait (Object.java:-2)
java.lang.Object.wait (Object.java:485)
org.apache.felix.framework.util.EventDispatcher.run (EventDispatcher.java:931)
org.apache.felix.framework.util.EventDispatcher.access$000 (EventDispatcher.java:54)
org.apache.felix.framework.util.EventDispatcher$1.run (EventDispatcher.java:106)
java.lang.Thread.run (null:-1)
Name: Finalizer, Status: WAITING
java.lang.Object.wait (Object.java:-2)
java.lang.ref.ReferenceQueue.remove (null:-1)
java.lang.ref.ReferenceQueue.remove (null:-1)
java.lang.ref.Finalizer$FinalizerThread.run (null:-1)
(...생략)
태그 : kraken




덧글
페리 2010/01/31 18:00 # 답글
오옹...유용하다..
stania 2010/02/01 17:29 # 삭제 답글
kraken 은 앞으로 제 스타일과 형 스타일이 모두 녹아든 녀석이 될듯 (...)
페리 2010/02/03 11:49 #
이햐..둘이 크라켄에서 하나가 되는거야? (응?)