JDB 디버그 Java 프로그램 사용 하기

3109 단어 Java
JDB 디버그 Java 프로그램 사용 하기
1. JDK 의 JDB 도 구 를 사용 하여 자바 프로그램 추가 디 버 깅
우선 자바 프로그램 을 다음 명령 으로 시작 합 니 다.
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar

명령 에 인자 suspend = n 이 있 습 니 다. JAVA 를 지정 하여 디 버 깅 모드 로 실행 하고 로 컬 8000 포트 를 감청 하 며 연결 을 기다 리 는 동안 끊 지 않 고 정상적으로 실행 합 니 다.
다음 명령 으로 위 에서 실행 중인 JAVA 프로그램 에 추가 하여 디 버 깅 분석 을 사용 합 니 다.
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8000

그 후에 threads, thread, where, list 등 명령 으로 디 버 깅 을 시작 할 수 있 습 니 다.
2. Eclipse 원 격 디 버 깅 Java 프로그램 사용
Eclipse 를 사용 하면 두 가지 방식 으로 나 눌 수 있 습 니 다. 하 나 는 JAR 단 을 서버 로 하고 하나의 포트 번 호 를 감청 하 며 Eclipse 는 이 포트 번호 에 연결 하여 디 버 깅 을 시작 합 니 다.둘째, Eclipse 는 서버 로 서 포트 번 호 를 감청 하고 JAR 단 은 이 포트 에 연결 합 니 다. 방법 은 다음 과 같 습 니 다.
  • JAVA 프로그램 을 JAR 로 포장 한 후 CMD 에 입력
  • java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar test.jar

    그리고 Eclipse 에 정지점 을 추가 하고 항목 -> Debug As -> Debug Configurations 를 우 클릭 합 니 다. Remote Java Application 을 두 번 클릭 하고 Connection Type 은 Standard (Socket Attach) 를 선택 하여 원 격 호스트 와 포트 번 호 를 채 우 고 Debug 를 누 르 면 원 격 디 버 깅 을 할 수 있 습 니 다.
  • Eclipse 에 정지점 을 추가 하고 항목 을 우 클릭 -> Debug As -> Debug Configurations, Remote Java Application 을 두 번 클릭 하고 Connection Type 은 Standard (Socket Listen) 를 선택 하여 포트 번 호 를 입력 하고 Debug 를 누 르 면 감청 을 시작 합 니 다. 상태 표시 줄 에 "waiting for vm to connect at port 8000..."메 시 지 를 표시 하고 JAR 프로그램
  • 을 실행 합 니 다.
    java -Xdebug -Xrunjdwp:transport=dt_socket,address=192.168.10.205:8000,suspend=y -jar remoting-debug.jar  

    3. IntelliJ IDEA 원 격 디 버 깅 Java 프로그램 사용
    Run -> Remote 를 누 르 면 Configuration 란 아래 Settings 상자 에 구체 적 인 정 보 를 설정 합 니 다. Transport 에 서 는 Socket, Debugger mode 에 서 는 Attach 또는 Listen 을 선택 하고 Attach 는 Eclipse 의 첫 번 째 방식 에 해당 하 며 Listen 은 Eclipse 의 두 번 째 방식 에 해당 하 며 다른 곳 에 서 는 같 습 니 다.

    좋은 웹페이지 즐겨찾기