본문 바로가기
Today I Learned/Java

[Java] Java Remote Debugging 자바 원격 디버깅 #2 (JDWP 디버깅 옵션)

by dbs_ 2025. 7. 24.

 

JDWP 디버깅 옵션

1. 디버깅 JVM 방식 (server)

모드 설명
server=y JVM이 디버거 요청을 수신하는 서버 역할 (일반적으로 많이 사용)
server=n JVM이 디버거(IDE)로 접속을 시도함 (거의 사용 안 함)

 

2. JVM 실행 대기 여부 (suspend)

모드 설명
suspend=y 디버거가 연결되기 전까지 JVM 실행을 멈춤 (초기 진입 디버깅 시 사용)
suspend=n 디버거 연결 여부와 무관하게 JVM 실행 (운영 환경에서 일반적으로 사용)

 

3. 디버깅 포트 지정 (address)

 예시 설명
5005 5005 포트에서 디버거 연결 수신 (localhost 기본 바인딩)
*:5005 모든 IP에서 연결 수신 허용 (JDK 9 이상)
127.0.0.1:5005 로컬 루프백 전용으로 바인딩 (보안 강화 시 사용)

 

4. 전송 방식 (transport)

설명
dt_socket TCP 소켓 방식으로 디버거 연결 (가장 일반적)
dt_shmem Windows 전용의 shared memory 방식 (속도 빠름, 잘 사용 안 함)

 

5. 엄격 모드  (strict)

설명
strict=y 사소한 오류도 예외로 처리하도록 엄격하게 검사

 

6. 예외 시 자동 중단 (onthrow, onuncaught)

옵션  설명
onthrow=y 예외가 throw 될 때 자동으로 중단점 설정
onuncaught=y uncaught 예외 발생 시 디버깅 자동 정지

 

7. MUTF-8 문자열 인코딩 (mutf8)

설명
y 문자열 인코딩을 MUTF-8로 설정 (디버거 툴 호환성 고려 시 사용)

 

 

보통 실무에서는 1~3번 옵션을 많이 사용하는 것 같다. 그래도 이게 뭔지는 알아두면 좋으니 이번 기회에 정리를 해보았다. 

 

'Today I Learned > Java' 카테고리의 다른 글

[Java] var  (1) 2025.08.10
[Java] Jackson #1  (0) 2025.08.10
[Java] Java Remote Debugging 자바 원격 디버깅 #1 (개념)  (0) 2025.07.17
[Java] Random 4 종류  (0) 2025.07.05
[Java] META-INF 디렉토리와 MANIFEST.MF  (0) 2025.03.12