2016-09-26 5 views
3

10.0.1.62:8080/xxx에서 실행중인 웹 응용 프로그램이 있습니다. IntelliJ IDEA를 통해 원격으로 디버그하고 싶습니다. 나는 (우분투에서 Tomcat7) 10.0.1.62 컴퓨터에 JAVA_OPTS = -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000IntelliJ가 포함 된 원격 디버그 Tomcat 7

를 설정하고 내가 쳤을 때 원격 디버깅 버튼 IDE는 정보 메시지를주고있다 : 타겟 VM, 주소에 연결

를 ' 10.0.1.62:8000 '전송'소켓 '

나는 10.0.1.62:8080/xxx 타격 나보다. 나는이 성공 메시지를 받았지만 브렉 포인트는 맞지 않습니다. 내가 뭘 놓치고 있니? 당신은 이미이 단계를 수행 한 것처럼 소리 질문에서 Remote Debugging in IntelliJ Tomcat

:

답변

3

첫째, 두 번이 질문과 대답을 참조하여 설정을 확인합니다. 이전에 원격 톰캣 디버깅과 관련된 몇 가지 다른 설정 문제가 있습니다. 이전에 공유하고 도움이되기를 바랍니다.

  1. IntelliJ에서 적절한 원격 디버깅 프로세스를 시작했는지 확인하십시오. Remote Debug
  2. 호스트에 여러 Tomcat 서버가 실행중인 경우 올바른 Tomcat 인스턴스에 연결하고 있는지 확인하십시오. 디버그 포트 8000이 이미 사용 중일 수 있습니다. 나는 15019의 임의의 포트 나 다른 포트 번호를 이미 사용하고있다. 사용 된 포트가 Tomcat과 IntelliJ 사이에서 일치하는지 확인하십시오.
  3. Tomcat에서 원격 디버깅을 설정하는 방법에 따라 이전 인스턴스를 실행 한 상태로 제대로 종료되지 않을 수 있습니다. catalina.sh 맨 위에 디버그 훅을 추가하면 디버그 포트가 이미 Tomcat 서버에 바인드되어 있기 때문에 shutdown.sh 스크립트가 실패하게됩니다. 대신에 시작에서 if 문 배치 :이 문제를 해결 한 후

    elif [ "$1" = "start" ] ; then JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=15019,suspend=n,server=y"

을 할 수 있습니다 종료 톰캣 성공적으로 ./shutdown.sh와 여전히 ./startup.sh

과 디버깅을 시작
  1. 깨끗한 Tomcat에 응용 프로그램을 배포했는지 확인하십시오.

    Shutdown Tomcat, then verify it is no longer running. Remove the deployed war file and corresponding exploded version from your tomcat webapps directory. Remove the contents of the work and temp directories. Deploy and verify your recently build war file. Start Tomcat.

시간을 절약 할 수이 작업을 수행하는 스크립트를 작성 : 귀하의 정리 과정이 여기에 변화를 필요로하지만 수하는 것은 일반적인 생각이다.

  1. 그 밖의 모든 것이 실패하면 디버그 로그를 추가하여 먼저 중단 점이 호출되는 코드를 다시 확인하십시오.

나는 잘못 될 수있는 20 가지 다른 것들이있을 것이라고 확신합니다. 아이디어를 자유롭게 추가하십시오.