2012-10-02 6 views
0

저는 독립 실행 형 (Swing) Java EE 클라이언트를 개발 중입니다. 응용 프로그램 서버는 JBoss 6.1.0입니다. 일부 Windows 워크 스테이션은 클라이언트가 실행 중일 때 고정되고 일부는 그렇지 않습니다. 32 비트 및 64 비트 Windows 워크 스테이션은 모두 멈추고 일부 32 비트 및 64 비트 Windows 워크 스테이션은 완벽하게 작동합니다. 클라이언트는 문제없이 Linux에서 잘 실행됩니다.Windows가 정지 한 Java Swing 응용 프로그램을 디버깅하는 방법은 무엇입니까?

사람들이 직접 그리기를 사용하지 말 것을 제안한 StackOverflow의 지침을 따르는 사람은 -Dsun.java2d.noddraw=true입니다. 도움이되지 않았다.

대부분의 퍼즐은 일부 워크 스테이션이 거의 동일하다는 것입니다. 동일한 Windows 버전, 동일한 그래픽 드라이버, 동일한 JRE, 일부는 잘 작동하지만 일부는 그렇지 않습니다.

응용 프로그램은 환경 설정 API를 사용하여 도킹 프레임의 다양한 위치 (도킹 프레임 프로젝트에서)를 많이 저장하고 JBoss 클라이언트 클래스를 사용합니다.

내가 Windows 레지스트리에 아마 동시 액세스가이 문제를 일으키는 경우 (비슷한 문제를 알려 주시기 바랍니다가 있다면) 조사하는 과정에서 오전 ...

첫 번째 추측은 경쟁 조건이 어딘가에 발생했다 GUI 스레드에서, 그리고 GUI가 정지합니다. 그러나 그것은 GUI 만 고정시킬 것이고, 전체 Windows를 고정 시켜서는 안됩니다.

컴퓨터가 일시 중지 된 경우 핑에 응답하지만 Windows 서비스는 작동하지 않습니다.

힌트를 통해 문제를 해결할 수 있습니다.

편집 :

  • CPU 사용률은 항상 10 %입니다.
  • 스레드 수는 30을 넘지 않습니다. 단, 모든 스레드가 데몬 스레드 (AWT 스레드, RMI 스레드 등 포함)는 아닙니다.
+0

CPU 사용량이 100 %가됩니까? 다른 문제가있는 것처럼 들리지만이를 배제하고 싶습니다. – arcy

+0

그걸 확인해 봤지만 CPU 사용량은 실제로 매우 낮습니다. 일반적으로 ~ 10 %입니다. – DejanLekic

+0

동결과 작동하는 더 세부적인 워크 스테이션을 비교해 보았습니까? 아마도 그것의 서비스 팩 수준, 당신의 방법으로 점점 일부 옵션 패치/드라이버 ... – user1697575

답변

1

EventQueue with Watchdog을 시험해보십시오. 응용 프로그램에 대체 EventQueue를 설치합니다. Watchdog은 어떤 이벤트가 GUI를 잠그고 있는지 알려줍니다.

+0

나는 이것을 확실히 시도 할 것입니다! 감사합니다 keuleJ! – DejanLekic

0

그것은 ESET로 판명되었습니다. ESET를 설치 한 모든 Windows 컴퓨터에서이 문제가 발생했습니다. 분명히 ESET에는 기본적으로 ON 인 "프로토콜 추적"기능이 있습니다. 일단 꺼지면 우리는 결코이 문제를 갖지 못했습니다.

관련 문제