Java 응용프로그램 디버깅
Java™ 프로그램을 디버그하기 위해 운영 체제용 SDK 에서 제공하는 JPDA (Java Platform Debugger Architecture) 를 사용하여 통신하는 JDB (Java Debugger) 애플리케이션 또는 기타 디버거를 사용할 수 있습니다.
Java를 사용한 문제점 진단에 대한 정보는 문제점 해결 및 지원에서 찾을 수 있습니다.
참고: AIX® 시스템에서 SDK 에는 AIX 디버거, DBX용 플러그인이 포함되어 있습니다. DBX 플러그인은
SDK의 일부로 제공되지만 지원되지는 않습니다. 그러나 IBM® 은 버그 보고서를 승인합니다.
Java Debugger
JDB는 SDK에 포함되어 있습니다. 이 디버거는 jdb 명령을 통해 실행되며 JPDA를 사용하여 JVM에 접속합니다.
- Java 응용프로그램을 디버그하려면 다음을 수행하십시오.
- 다음 옵션으로 JVM을 시작하십시오.
- Windows 시스템:
java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class> - 기타 시스템:
java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>
JVM이 시작되지만 Java 애플리케이션을 시작하기 전에 실행을 일시중단합니다.
- Windows 시스템:
- 별도의 세션에서 다음과 같이 디버거를 JVM에 첨부할 수 있습니다.
디버거가 JVM에 첨부되고 이제 다양한 명령을 실행하여 Java 애플리케이션을 검사하고 제어할 수 있습니다. 예를 들어, Java 애플리케이션을 시작하려면 run 를 입력하십시오.jdb -attach <port>
- 다음 옵션으로 JVM을 시작하십시오.
- 원격 워크스테이션에서 실행 중인 Java 응용프로그램을 디버그하려면 다음을 수행하십시오.
- JPDA는 TCP/IP 소켓을 사용하여 원격 JVM에 연결합니다.
- 다음 옵션으로 JVM을 시작하십시오.
- Windows 시스템:
java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class> - 기타 시스템:
java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>
JVM이 시작되지만 Java 애플리케이션을 시작하기 전에 실행을 일시중단합니다.
- Windows 시스템:
- 디버거를 원격 JVM에 첨부하십시오.
- Windows 시스템:
jdb -connect com.sun.jdi.SocketAttach:hostname=<host>,port=<port> - 기타 시스템:
jdb -attach <host>:<port>
- Windows 시스템:
- 다음 옵션으로 JVM을 시작하십시오.
- 자세한 정보를 확인하려면 다음 작업을 수행하십시오.
- JDB 옵션에 대한 자세한 정보를 확인하려면
jdb -help를 입력하십시오. - JDB 명령에 대한 자세한 정보를 보려면 다음을 수행하십시오.
jdb유형- jdb 프롬프트에서
help를 입력하십시오.
- JDB 및 JPDA와 해당 사용법에 대한 자세한 정보는 다음 항목을 참조하십시오.
- JDB 옵션에 대한 자세한 정보를 확인하려면