Java Bean을 디버그하기 위한 고급 옵션

일반 개발 중에는 각 Visual Editor 인스턴스에 사용되는 VM을 고려하지 않아도 됩니다. 그러나 고급 사용자는 VM의 System.out 또는 System.err로 송신된 모든 메시지가 작업공간의 .metadata 디렉토리에 있는 .log 파일에 작성되도록 Workbench를 구성할 수 있습니다.

Java Bean을 실행하는 데 사용되는 가상 시스템(VM)은 Workbench에서 실행되고 있는 VM과는 차이가 있습니다. Visual Editor의 각 인스턴스에 대해 별도의 VM이 작성됩니다. 이 VM의 클래스 경로는 프로젝트에 대한 Java 빌드 경로의 항목이 되도록 설정됩니다. Visual Editor가 열려 있는 동안 Java 빌드 경로가 변경되면 열린 모든 편집기를 닫은 후 다시 열어서 갱신된 빌드 경로를 반영해야 합니다.

Workbench가 시작되면 텍스트 파일을 지정하는 -DEBUG 옵션을 제공할 수 있습니다.

-DEBUG file:/c:/temp/options.txt

디버그 파일은 Visual Editor가 읽는 항목을 포함합니다. 파일에 다음 행이 포함되면 System.out 또는 System.err로 전송되는 모든 메시지가 콘솔에 표시됩니다.

org.eclipse.jem.proxy/remote/debug/vmtraceout=true

Visual Editor에 사용되는 VM으로부터 콘솔 출력을 표시하는 것 외에 콘소 출력을 디버그 모드로 시작하고 원격 디버깅을 수행할 수도 있습니다. 이 시나리오는 최적화되지 않았으며 Visual Editor의 이후 버전에서 변경될 수 있습니다. 그러나 디자인 시 Java bean의 디버깅을 수행하는 데 필요한 사례는 문서화되어 있습니다. 원격 디버깅을 수행하려면 두 개의 실행 중인 Workbench가 필요합니다. 하나는 디버그할 Java Bean이 있는 Workbench이고 다른 하나는 소켓 기반 원격 디버깅을 수행할 수 있는 Workbench입니다. 두 번째 Workbench는 동일한 시스템 또는 서로 다른 시스템에서 실행 중일 수 있습니다. Visual Editor의 VM 디버깅을 사용하려면 -DEBUG 파일에 다음 행을 포함해야 합니다.

org.eclipse.jem.proxy/remote/debug/debugvm=true

Visual Editor는 VM을 시작할 때마다 디버그 모드로 시작할 것인지를 묻습니다.

이전 대화 상자는 Test 프로젝트의 HelloFrame.java 클래스가 Visual Editor를 통해 열리는 경우에 적용됩니다. 콘솔에서 Yes를 선택하거나 Y를 입력하고 Enter를 누르면 VM이 소켓 커넥터를 사용하는 -Xdebug의 일시중단 모드로 시작됩니다. 사용 가능한 포트가 할당됩니다. 다음으로 항목이 설명됩니다.

다음 단계는 원격 디버거를 포트 번호 7078에 접속하는 것입니다. 원격 디버거가 접속하는 동안에는 Visual Editor를 실행 중인 Workbench의 인스턴스가 일시중단되므로 다른 응용프로그램에서 디버거를 사용해야 합니다. 기타 응용프로그램이 Workbench의 또 다른 인스턴스인 경우 메뉴 옵션 디버그 > 디버그를 사용하고 새 원격 Java 응용프로그램 구성을 작성해서 원격 디버깅을 시작할 수 있습니다.

이전에 stdout에 기록된 포트 번호를 입력하십시오(이 경우 7078). 디버거가 서로 다른 시스템에 있으면 호스트 필드에 디버그 중인 Workbench를 실행하는 시스템의 IP 주소를 입력해야 합니다. 원격 디버거를 시작하려면 디버그를 클릭한 다음 디버그되는 Workbench의 stdin 콘솔에 y를 입력하십시오.

Visual Editor의 각 인스턴스에 사용되는 VM을 디버그하도록 프롬프트되는 것 외에 프로젝트 자체를 디버그하는지 묻는 메시지도 표시됩니다.

Do you want to start the remote vm (Project (Test)-Beaninfo) in debug mode? (Enter Y or N):

이 메시지는 자체 검사에 사용되며 java.beans.Introspector가 실행되는 VM에 적용되며, 특정 Java 소스 파일 이름을 지정하지 않으므로 Visual Editor의 VM과 구별될 수 있습니다. 이 VM은 프로젝트 내의 Java Bean에 Bean 정보가 처음으로 필요할 때 시작되어 프로젝트가 열려 있는 동안에는 활성 상태를 유지합니다. 이 프로젝트를 디버깅하여 Java Bean이 자체 검사 중일 때 BeanInfo 클래스의 코드를 진행하고 분석할 수 있습니다. 자체 검사를 사용하는 각 프로젝트의 Java Bean 클래스마다 자체 검사를 한 번 수행합니다. 성능에 도움이 되도록 결과는 캐시에 보관됩니다. 프로젝트의 보관된 BeanInfo 정보의 캐시를 지울 필요가 있으면 언제든지 팝업 메뉴에서 프로젝트의 닫기열기를 수행할 수 있습니다.

관련 개념
Java Bean 예외
관련 타스크
비주얼 클래스를 Java Bean 또는 응용프로그램으로 실행
Java Bean 또는 응용프로그램 실행을 위한 옵션 구성
비주얼 Java Bean 또는 응용프로그램 디버깅
애플릿 테스트 및 배치

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.