Eclipse에서 단계별 디버깅을 사용할 수 있기를 원한다고 가정합니다. JRE 클래스 경로의 bin 디렉토리에 빌드 된 클래스를 설정하여 외부에서 클래스를 실행할 수 있습니다.
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
원격 디버거를 사용하여 디버깅하고 프로젝트에 빌드 된 클래스 파일을 활용할 수 있습니다.
이 예에서 Eclipse 프로젝트 구조는 다음과 같습니다.
workspace\project\
\.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1. 디버그 모드에서 JVM 콘솔 시작
debug.bat 는 cmd.exe 콘솔 에서 외부 적으로 실행해야하는 Windows 배치 파일입니다 .
@ECHO OFF
SET A_PORT=8787
SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y
java.exe %A_DBG% -cp .\bin Main
인수에서 디버그 포트는 8787 로 설정되었습니다 . 은 중단 = y를 인수 디버거가 첨부 될 때까지 대기하도록 JVM을 알려줍니다.
2. 디버그 시작 구성 만들기
Eclipse에서 디버그 대화 상자 (실행> 디버그 대화 상자 열기 ...)를 열고 다음 설정 으로 새 원격 Java 애플리케이션 구성을 작성하십시오.
- 프로젝트 : 프로젝트 이름
- 연결 유형 : 표준 (소켓 부착)
- 호스트 : localhost
- 포트 : 8787
3. 디버깅
따라서 앱을 디버깅 할 때마다해야 할 일은 다음과 같습니다.
- 중단 점을 설정
- 콘솔에서 배치 파일 시작
- 디버그 구성 시작
이 문제는 버그 122429 에서 추적 할 수 있습니다 . 여기에 설명 된대로 추상화 계층을 사용하여 응용 프로그램에서이 문제를 해결할 수 있습니다 .
System.out
하고System.in
내 사용 사례에 대한 충분하고 사용 abondaned하기System.console()
.