-
목적
- 오류가 서버 코드에서 발생하면 로그는 문제의 정확한 원인을 찾을 수도 때로는 수없는, 너무 많은 문제를 분석, 그것은 원격 디버그 서버 코드로 연방 수사 국 (FBI)이며, 정확하고 효율적으로.
-
서버 구성
- 첫째, 우리는 원격 기능을 시작할 수있는 프로젝트에 대한 자세한 특정의 JVM 인수를 디버깅 원격 서버가 지원을하게하려면, 매개 변수는 다음과 같습니다 :
- 원격 JVM을 실행하기위한 명령 줄 인수 (이후 JDK 이상 1.4.X 버전)
- |
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9508
- JDK 1.4.X 버전
- |
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9508
- JDK 1.3.x의 또는 조기 석방
- |
-Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9508
- 제 : 자바 의해 스프링 부트 -jar -agentlib : 전송 JDWP = dt_socket 서버 Y =, = N-일시 주소 = 9508 xxx.jar 및 명령 라인을 시동하도록 구성된
- 둘째 : 설정 JAVA_OPTS 노드는 이제 catalina.bat에서 (리눅스 환경 설정 catalina.sh) 할 수 있습니다. - 구성 Tomcat 서버
다음 $ TOMCAT_HOME / 빈 디렉토리로vi catalina.sh #在# OS specific support.上面添加 export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9508'
- 첫째, 우리는 원격 기능을 시작할 수있는 프로젝트에 대한 자세한 특정의 JVM 인수를 디버깅 원격 서버가 지원을하게하려면, 매개 변수는 다음과 같습니다 :
-
아이디어 구성
- 구성 편집을 클릭하면 실행 / 디버그 구성 인터페이스 구성을 원격 입력 할 수 있습니다 :
-
디버깅 시작
- 콘솔 패널에 성공적으로 출력이 시작됩니다, 식별 아래 디버그 시작 표시를 클릭 : 타겟 VM에에 연결을, 주소 : '140.143.29.146:9508'전송 '소켓'
-
문제와 해결 방법
- 문제 :
- 第 一个 问题 : 열려있는 디버거 포트 수 없습니다 (XXXX : 9508) : java.net.ConnectException "연결 시간 초과 : 연결"오류가 '원격 MS가-컬렉션'실행
- 두 번째 질문 : IP와 포트 번호 아무런 문제가 있지만 "연결이 거부 됨"
- 해결 방법 :
- 관련 포트를 엽니 다
-
vi /etc/sysconfig/iptables #在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT之后添加 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9508 -j ACCEPT
- 방화벽을 다시 시작합니다 :
service iptables restart
- 또한 귀찮은 경우 OK, 또는 직접 요구 덜 방화벽 보안을 해제하려면 :
service iptables stop
- 다시 시작 서비스
- 문제 :
-
참고 : 원격 디버깅을 보장하면서 클라이언트 수있는 유일한 연결이
참조 주소 :
https://www.cnblogs.com/krockey/p/5056945.html